我正在研究Java I / O。我的代码有问题。 我要打印
[0, 0, 1]
[1, 0, 1]
[0, 0, 1]
[2, 0, 1]
[10, 0, 5]
但是需要其他回车。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int tc = sc.nextInt();
sc.nextLine();
System.out.println();
for (int i = 0; i < tc; i++) {
int line = sc.nextInt();
sc.nextLine();
for (int j = 0; j < line; j++) {
System.out.println(i+""+j);
int[] st = Arrays.stream(sc.nextLine().split(" "))
.mapToInt(Integer::parseInt).toArray();
System.out.println(Arrays.toString(st));
}
}
}
下面是输入和输出。而且我不知道为什么[10,0,5]没有显示。如果我按Enter键,则会显示[10,0,5]。
Input
2
2
0 0 1
1 0 1
3
0 0 1
2 0 1
10 0 5
Output
[0, 0, 1]
[1, 0, 1]
[0, 0, 1]
[2, 0, 1]
(additional enter)
[10, 0, 5]
答案 0 :(得分:0)
读取Java doc for nextLine
方法。
由于此方法继续在输入中搜索以寻找 行分隔符,它可以缓冲搜索行的所有输入 如果没有行分隔符,则跳过。
此nextLine调用将阻塞,直到找到行分隔符(这是附加的回车符)为止。
int[] st = Arrays.stream(sc.nextLine().split(" "))
.mapToInt(Integer::parseInt).toArray();
答案 1 :(得分:0)
y