如果我单独调用一个方法,它可以正常工作,但是如果调用了两个方法,则在第一个方法完成后,java会抛出NoSuchElementException。任何人都可以请求它的原因和解决方案。这是一个初学者练习,通过使用扫描仪循环创建模式。如果我不使用Scanner类,这两种方法也可以正常工作。谢谢。 真诚的新手。
private static void pattern1() {
int num = 1;
int limit;
Scanner input = new Scanner(System.in);
System.out.print("Enter number ");
limit = input.nextInt();
for (int i = 0; i < limit; i++) {
++num;
for (int j = 1; j < num; j++) {
System.out.print(j + " ");
}
System.out.println();
}
input.close();
}
private static void pattern2() {
Scanner input = new Scanner(System.in);
int limit;
System.out.print("Enter number ");
limit = input.nextInt();
int num = limit + 1;
for (int i = 0; i < limit; i++) {
for (int j = 1; j < num; j++) {
System.out.print(j + " ");
}
num--;
System.out.println();
}
input.close();
}
答案 0 :(得分:0)
您可以基于相同的输入流对象(System.in)创建2个Scanner对象。在第一种方法中,您关闭输入流,因此第二个Scanner对象无法从同一输入对象读取。