java数组如何输入
使用Scanner类输入数组
通过java.util.Scanner类可以方便地从控制台获取用户输入的数组元素。

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("输入数组长度: ");
int n = scanner.nextInt();
int[] arr = new int[n];
System.out.println("输入数组元素:");
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
System.out.println("数组内容:");
for (int num : arr) {
System.out.print(num + " ");
}
scanner.close();
}
}
使用BufferedReader输入数组
对于大量数据输入,BufferedReader比Scanner效率更高。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("输入数组长度: ");
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
System.out.println("输入数组元素(空格分隔):");
String[] input = br.readLine().split(" ");
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(input[i]);
}
System.out.println("数组内容:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
从命令行参数输入数组
通过main方法的args参数可以直接接收命令行输入的数组。
public class Main {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("未提供输入参数");
return;
}
int[] arr = new int[args.length];
for (int i = 0; i < args.length; i++) {
arr[i] = Integer.parseInt(args[i]);
}
System.out.println("数组内容:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
注意事项
- 输入数据时需确保类型匹配,例如避免将非数字字符串转换为整数。
- 使用
BufferedReader时需处理IOException异常。 - 命令行参数需以空格分隔,例如运行命令
java Main 1 2 3。
示例扩展:输入字符串数组
若需输入字符串数组,调整数据类型即可。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("输入数组长度: ");
int n = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
String[] arr = new String[n];
System.out.println("输入字符串元素:");
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextLine();
}
System.out.println("数组内容:");
for (String str : arr) {
System.out.println(str);
}
scanner.close();
}
}






