从键盘输入二维数组是在Java编程中比较常见的一个需求。二维数组是一个由多个一维数组组成的数据结构,可以用来表示矩阵、地图等多维数据。在Java中,可以通过Scanner类来实现从键盘输入,并使用循环语句来逐行读取输入的数据,然后将其存储到二维数组中。
首先,我们需要导入java.util包下的Scanner类,这个类可以用来从键盘读取输入。具体代码如下所示:
import java.util.Scanner;
接下来,我们需要声明一个Scanner对象,用来接收键盘输入的数据。代码如下所示:
Scanner scanner = new Scanner(System.in);
然后,我们可以通过Scanner对象的nextInt()方法或者nextLine()方法来读取输入的数据。nextInt()方法用来读取输入的整数,nextLine()方法用来读取输入的字符串。具体代码如下所示:
int rows = scanner.nextInt();
int cols = scanner.nextInt();
scanner.nextLine(); // 读取换行符
int[][] array = new int[rows][cols];
for (int i = 0; i < rows; i++) {
String line = scanner.nextLine();
String[] nums = line.split(" ");
for (int j = 0; j < cols; j++) {
array[i][j] = Integer.parseInt(nums[j]);
}
}
上述代码中,我们首先通过nextInt()方法读取输入的行数和列数,然后通过nextLine()方法读取换行符,接着使用循环语句逐行读取输入的数据。在内层循环中,我们使用split()方法将每一行的数据按空格分割成字符串数组,然后通过parseInt()方法将字符串转换为整数,最后将整数存储到二维数组中。
以上就是从键盘输入二维数组的基本代码示例。在实际应用中,我们可能还需要添加异常处理代码,以防止用户输入非法数据导致程序崩溃。此外,我们还可以对输入的数据进行校验,确保输入的行数和列数与二维数组的维度匹配。在处理大规模数据时,我们还可以考虑使用缓冲流来提高读取输入的效率。
总结起来,从键盘输入二维数组是一个常见的编程需求。在Java中,我们可以使用Scanner类来实现从键盘读取输入,并通过循环语句逐行读取数据,然后将其存储到二维数组中。通过合理使用异常处理和数据校验,我们可以编写出更健壮和可靠的代码。
flowchart TD
start(开始)
input(声明Scanner对象)
read(从键盘读取行数和列数)
loop(循环读取每一行数据)
split(按空格分割字符串)
convert(将字符串转换为整数)
store(存储到二维数组)
end(结束)
start --> input
input --> read
read --> loop
loop --> split
split --> convert
convert --> store
store --> loop
loop --> end