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

如何在while循环中使用.nextInt()和hasNextInt()

东郭臻
2023-03-14
问题内容

所以我想让我的程序读取一个输入,该输入在一行中有一些整数,例如:

1 1 2

然后,它应该分别读取每个整数并在新行中打印。程序必须读取的整数数量没有预先给出,所以我想做的是使用while循环,该循环在没有更多的整数可读取之后结束。这是我写的代码:

while (scan.hasNextInt()) {
    int x = scan.nextInt();
    System.out.println(x);
}

但是它不能正常工作,因为循环永远不会结束,它只希望用户输入更多的整数。我在这里想念什么?


问题答案:

扫描程序基本上会等到文件结束进入。如果您在控制台中使用该文件,则不会发生,因此它将继续运行。尝试从文件中读取整数,您会注意到程序将终止。

如果您不熟悉读取文件,请test.txt在您的项目文件夹中创建一个,然后Scanner scan = new Scanner(new File("test.txt"));与您的代码一起使用。



 类似资料:
  • 我正在尝试使用Postman来验证API。我可以毫无问题地验证单个请求,并获得所需的输出。但是,我现在想进行负载测试,并运行相同的调用5次。 我尝试使用for和while循环,但是Postman给出了一个错误。

  • 我正试图用OpenCV实时地从相机中绘制一些数据。然而,实时绘图(使用matplotlib)似乎不起作用。 我希望这个例子能画出1000个点。实际发生的情况是,窗口弹出并显示第一个点(可以了),然后等待循环完成,然后填充图的其余部分。 有什么想法为什么我没有看到点一次一个?

  • 这是我目前所掌握的:

  • 问题内容: 在Java中退出/终止while循环的最佳方法是什么? 例如,我的代码当前如下: 问题答案: 用途: 但是,如果您的代码看起来 完全 像您指定的那样,则可以使用普通循环并将条件更改为:

  • 问题内容: 所以我在将文本文件读入程序时遇到了问题。这是代码: 我正在读取的文件是100行参数。如果我使用for循环,则效果很好。如果我使用while语句(在for循环上方被注释掉的那条语句)停止在50。用户有可能使用具有任意行数的文件运行该程序,因此我当前的for循环实现不会工作。 为什么行在50处停止?我检查了文本文件,没有什么可以挂断它的。 当我使用while循环时,我没有从try-catc

  • 我们经常需要重复执行一些操作。 例如,我们需要将列表中的商品逐个输出,或者运行相同的代码将数字 1 到 10 逐个输出。 循环 是一种重复运行同一代码的方法。 “while” 循环 while 循环的语法如下: while (condition) { // 代码 // 所谓的“循环体” } 当 condition 为真时,执行循环体的 code。 例如,以下将循环输出当 i < 3 时的