在Java中,从键盘输入二维数组可以通过以下几种方法实现:
1. 逐行输入:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入二维数组的行数:");
int rows = scanner.nextInt();
System.out.println("请输入二维数组的列数:");
int columns = scanner.nextInt();
int[][] matrix = new int[rows][columns];
for (int i = 0; i < rows; i++) {
System.out.println("请输入第 " + (i + 1) + " 行," + columns + " 列的元素:");
for (int j = 0; j < columns; j++) {
matrix[i][j] = scanner.nextInt();
}
}
// 打印二维数组
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
2. 使用空格分隔输入:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入二维数组的行数:");
int rows = scanner.nextInt();
System.out.println("请输入二维数组的列数:");
int columns = scanner.nextInt();
int[][] matrix = new int[rows][columns];
for (int i = 0; i < rows; i++) {
System.out.println("请输入第 " + (i + 1) + " 行," + columns + " 列的元素,用空格隔开:");
String line = scanner.nextLine();
String[] elements = line.split(" ");
for (int j = 0; j < columns; j++) {
matrix[i][j] = Integer.parseInt(elements[j]);
}
}
// 打印二维数组
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
3. 使用字符串数组作为中间变量:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入二维数组的行数:");
int rows = scanner.nextInt();
System.out.println("请输入二维数组的列数:");
int columns = scanner.nextInt();
String[] temp = new String[rows + 1];
for (int i = 0; i < rows; i++) {
System.out.println("请输入第 " + (i + 1) + " 行," + columns + " 列的元素,用空格隔开:");
temp[i] = scanner.nextLine();
}
int[][] matrix = new int[rows][columns];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
matrix[i][j] = Integer.parseInt(temp[i].split(" ")[j]);
}
}
// 打印二维数组
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
以上代码示例展示了如何从键盘输入一个二维数组,并将其存储在Java程序中。请根据实际需求选择合适的方法。需要注意的是,在使用`nextInt()`方法后应该调用`nextLine()`方法来消耗掉换行符,否则可能会导致输入错误。