如何从标准输入打印二维数组,我知道行大小,而不是列大小?
标准输入的第一行将是行大小,接下来的几行将是具有由空格分隔的列的每个元素的输入的行数。 e.g。
3
1 2 3
3 4 5
6 9 3
这就是我正在尝试使用我的代码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int rows = sc.nextInt(); // Number of rows
int[][] arr = new int[rows][];
for(int i = 0; i < rows; i++){
}
}
答案 0 :(得分:2)
如果您想拥有列值, 那么你需要拆分每一行。 拆分线条时,您将知道列数。 例如:
lineToIntArray
或private int[] lineToIntArray(String line) {
return Arrays.asList(line.split(" ")).stream().mapToInt(Integer::parseInt).toArray();
}
使用Java 8:
std::cout << add(firstNumber, secondNumber);
答案 1 :(得分:0)
String line = sc.nextLine();
String values[] = line.split(" ");
// Now each item of values contains an item of the line, convert it to the type you want and store in your two dimensional array, line by line
// the row count will be values.length
答案 2 :(得分:0)
忽略第一行。
lines.stream().map(Arrays::toString).forEach(System.out::println);
要打印:
c= 10
for i in range(1,10,1):
for j in range(1,10,1):
pass
答案 3 :(得分:0)
假设所有行都以1 input
的形式读入String
,这应该可行..
Stream.of(input.split("\n")).map(line -> line.split(" ")).toArray(String[][]::new)