繁体   English   中英

扫描仪实际上并未接受用户输入

[英]Scanner not actually taking in user input

我尝试过扫描仪的不同用途(我希望它在文件中读取,但我也只尝试过字符串),它只是跳过代码,就好像它不存在一样。 不显示错误消息。

   public static void main(String[] args)
      throws FileNotFoundException {
      
      Scanner test = new Scanner(System.in);
      String testLine = test.next();

      Scanner input = new Scanner(new File("data.txt"));

      while(input.hasNextLine){
         String name = input.nextLine();
         String letters = input.nextLine();
         System.out.println(name + ": " + letters);
      }
   }

您的代码无法编译,因为hasNextLine()是 function,而不是 class 成员。

您实际上是在test.next();处从System.in读取数据; - 您必须输入一些文本,然后您的代码将继续运行。 它只是在等待用户输入 - 因此不会引发异常。

在这行代码:

String testLine = test.next();

您的程序正在等待您的输入。 在您提供输入之前,它无法进入下一行。

编辑:
从下面查理的评论中得到启示,这里是来自文档的关于System.in的引用。

“标准”输入 stream。 这个 stream 已经打开并准备好提供输入数据。 通常,此 stream 对应于键盘输入或主机环境或用户指定的其他输入源。

更多在这里。 .

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM