当前位置: 首页 > 面试题库 >

关闭system.in后出现NoSuchElementException

陶乐生
2023-03-14
问题内容

我想做上面链接中提到的相同练习。但是,尽管重新分配喜欢从标准输入中读取内容,但在成功关闭之后NoSuchElementException我还是尝试使用时遇到了麻烦。
inConsole.nextLine()``BufferedReader object``inConsole``inConsole = new Scanner(System.in)

关闭后BufferedReader object,我不能像上面一样重新分配给Scanner对象并使用它吗?


问题答案:

切勿靠近既不System.in也没有System.out。这将起作用并引起一些奇怪的效果。实际上,您将永远无法分别读写SYSOUT的SYSIN。查找其他解决方案

如果您需要建议如何在不关闭的情况下解决问题,System.in请提供有关应用程序生命周期的更多信息,并可能发送相关的代码片段。



 类似资料:
  • 问题内容: 我注意到,如果关闭,我将无法再从键盘插入输入,因为已经关闭了。无论如何,我可以保留(删除文件时需要它),然后从键盘添加更多输入吗? 问题答案: 看起来您需要: http://commons.apache.org/io/apidocs/org/apache/commons/io/input/CloseShieldInputStream.html 在制作读者之前,先将System.in环绕

  • 问题内容: 我试图将我的应用程序中较大且经常使用的部分重构为单独的方法,以使其易于维护。 其中一些方法要求用户输入并进行输入验证,因此我使用了Scanner和System.in,但是当我关闭Scanner时,我也关闭了System.in。 所以我的问题是,我只能通过用CloseShieldInputStream屏蔽System.in来防止System.in关闭,还是应该开始将Scanner传递给方

  • 我试图将应用程序中大量且经常使用的部分重新划分为不同的方法,以使其更容易维护。 其中一些方法要求用户输入并进行输入验证,因此我使用了扫描仪和系统。但当我关闭扫描仪时,我也会关闭系统。在里面 所以我的问题是,我只能阻止系统。通过使用CloseShieldInputStream屏蔽它来关闭,还是我应该开始向方法传递一个扫描器?

  • e、 (g) 此扫描仪工作不正常。但在删除close()后,它可以正常工作。 我想原因是“ystem.in”有问题。 请给我答案。 非常感谢。 )首先在a()中调用input.nextLine(),然后在b()中调用scan.nextInt()。我有错误,如NoSuchElementExcema。

  • 我有一个链接到中。现在,在使用了

  • 问题内容: 我有一个多线程控制台应用程序,它从两个不同的来源获取输入。一种是用户在控制台中键入内容,另一种是网络。我使用BufferedReader.readline()从用户那里获取输入,并且该输入被阻止,这很好,除非在等待时收到网络输入。在那种情况下,我需要通过取消readline()来解除对用户线程的阻塞。 我想最好的取消方法是关闭System.in并使readline()抛出异常。在那之后