e、 (g)
public void a(){
Scanner input = new Scanner(System.in);
String a = input.nextLine();
....
input.close();
}
public void b(){
Scanner scan = new Scanner(System.in);
int b = scan.nextInt();
....
scan.close();
}
此扫描仪工作不正常。但在删除close()后,它可以正常工作。
我想原因是“ystem.in”有问题。
请给我答案。
非常感谢。
)首先在a()中调用input.nextLine(),然后在b()中调用scan.nextInt()。我有错误,如NoSuchElementExcema。
public void b(){
Scanner scan = new Scanner(System.in);
int b = scan.nextLine();
....
input.close();
}
这不应该是输入。close()
b()
方法无法访问a()
方法的输入变量。因此,您应该将其替换为
scan。close()
public void b(){
Scanner scan = new Scanner(System.in);
int b = scan.nextLine();
....
scan.close();
}
问题内容: 我试图将我的应用程序中较大且经常使用的部分重构为单独的方法,以使其易于维护。 其中一些方法要求用户输入并进行输入验证,因此我使用了Scanner和System.in,但是当我关闭Scanner时,我也关闭了System.in。 所以我的问题是,我只能通过用CloseShieldInputStream屏蔽System.in来防止System.in关闭,还是应该开始将Scanner传递给方
我试图将应用程序中大量且经常使用的部分重新划分为不同的方法,以使其更容易维护。 其中一些方法要求用户输入并进行输入验证,因此我使用了扫描仪和系统。但当我关闭扫描仪时,我也会关闭系统。在里面 所以我的问题是,我只能阻止系统。通过使用CloseShieldInputStream屏蔽它来关闭,还是我应该开始向方法传递一个扫描器?
我有一个链接到中。现在,在使用了
问题内容: 我有一个链接到。现在,使用之后,我应该将其关闭,因为将其保持打开状态是不好的编码习惯。但是,如果我关闭,我也将关闭!谁能告诉我如何关闭而不关闭(如果有的话)。 问题答案: 一种选择是将流包装为,以防止流被关闭。然后,你的读者将使用而不是原始流。
位于java.util.scanner.throwfor(未知源)位于java.util.scanner.next(未知源)的线程“main”java.util.NoSuchelementException中出现异常**** 我多次调用s(扫描器),在第二次调用时出现运行时错误。这是由于关闭扫描仪,并可能再次使用它。我的问题是,每次使用Scanner时,我都会创建一个新的Scanner实例,那么为
我有一个程序,允许用户输入一个数字的学生数量,他们希望分配一个等级。然后,它打印出哪一个学生在总数中(例如6个中的1个),然后提示用户输入他们的名字和分数。 我的分数工作正确,但当最后的消息显示,我不能得到最大名称和第二个最大名称显示任何东西。