代码:
int size=0;
Scanner in = new Scanner(System.in);
System.out.println("Enter size of the Graph");
size = in.nextInt();
System.out.println(size);
for (int i = 1; i <= size; i++) {
Scanner in2 =new Scanner(System.in);
while(in2.hasNextInt()){
int num = in2.nextInt();
System.out.print("(" + i + "," + num + ")"+",");
System.out.println();
}
System.out.println("out of the while loop");
}
输入&amp;输出:
Enter size of the Graph
4
4
2 3 4
(1,2),
(1,3),
(1,4),
2 5 6
(1,2),
(1,5),
(1,6),
正如您所看到的,我的程序在循环时不存在。它仍然打印i = 1的值。 我做错了什么?
答案 0 :(得分:1)
int num = in2.nextInt();
尝试在此之后添加in2.nextLine();
。
注意:
你不应该多次new Scanner(System.in);
。
Scanner in2 = new Scanner(System.in); // this is useless just use in
答案 1 :(得分:1)
您的程序一直在等待新的Feed,以便终止它 - 您应该指示输入已结束(或提供非int
输入)。
要表明Feed已结束 - 您应该提供EOF - 在Linux中为ctrl+D
,在Windows中为ctrl+Z
。