java从键盘中按行输入二维数组的全部元素,每行的原素个数不定(用空格进行分割不同原素),当输入空行时表示输入结束。然后打印整个二维数组(元素之间以1个空格分开)。提示:考虑String的split方法
public static void main(String[] args) {
List<String[]> inputList = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
// 逐行输入二维数组的元素
String line;
while (!(line = scanner.nextLine()).isEmpty()) {
String[] elements = line.split(" ");
inputList.add(elements);
}
// 构建二维数组
String[][] array = new String[inputList.size()][];
for (int i = 0; i < inputList.size(); i++) {
array[i] = inputList.get(i);
}
// 打印整个二维数组
for (String[] row : array) {
for (String element : row) {
System.out.print(element + " ");
}
System.out.println();
}
}
【以下回答由 GPT 生成】
我想实现一个Java程序,在键盘上按行输入二维数组的全部元素。每行的元素个数是不确定的,用空格进行分割不同的元素。当输入空行时表示输入结束。然后我希望打印整个二维数组,每个元素之间以1个空格分开。
如何实现这个功能?可以考虑使用String的split方法。
请你优化一下以上问题的表述,添加必要的prompt。
你可以使用以下方法来从键盘按行输入二维数组的全部元素,并打印整个二维数组。下面是一个示例代码,你可以根据自己的需要进行修改和优化。
import java.util.ArrayList;
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
ArrayList<String> lines = new ArrayList<>();
String line = scanner.nextLine();
while (!line.isEmpty()) {
lines.add(line);
line = scanner.nextLine();
}
int numRows = lines.size();
int[][] array = new int[numRows][];
for (int i = 0; i < numRows; i++) {
String[] elements = lines.get(i).split(" ");
int numElements = elements.length;
array[i] = new int[numElements];
for (int j = 0; j < numElements; j++) {
array[i][j] = Integer.parseInt(elements[j]);
}
}
for (int i = 0; i < numRows; i++) {
int numElements = array[i].length;
for (int j = 0; j < numElements; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
完整的示例代码如下:
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<String> lines = new ArrayList<>();
String line = scanner.nextLine();
while (!line.isEmpty()) {
lines.add(line);
line = scanner.nextLine();
}
int numRows = lines.size();
int[][] array = new int[numRows][];
for (int i = 0; i < numRows; i++) {
String[] elements = lines.get(i).split(" ");
int numElements = elements.length;
array[i] = new int[numElements];
for (int j = 0; j < numElements; j++) {
array[i][j] = Integer.parseInt(elements[j]);
}
}
for (int i = 0; i < numRows; i++) {
int numElements = array[i].length;
for (int j = 0; j < numElements; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
}
}
使用上述方法,你可以从键盘按行输入二维数组的全部元素,并打印整个二维数组。
【相关推荐】