0

所以我在这里的代码是:

     public int getCount()
     {
       Scanner s1 = new Scanner(line);
       int count=0; 
       while(s1.hasNextInt());
        {
           int x = s1.nextInt();
           count++;
        }
       return count;
       }

我不明白为什么在使用 .nextInt(); 时会出现无限循环;并遵循我所有的笔记。

如果你们中的任何人可以提供帮助,我将不胜感激。

非常感谢!

4

2 回答 2

0

一段时间后删除分号。由于分号,之后的块while是一个独立的块,因为循环以空语句while终止。;while 条件始终保持不变true,因此是无限循环。

while(s1.hasNextInt())
于 2013-11-08T05:59:38.203 回答
0

删除;此行之后的:

while(s1.hasNextInt());

在这种情况下,;充当一个空语句,因此您有一个while-loop 包含一个空语句,然后是 and 之间的一个块{}它永远不会执行,因为带有空语句的循环会永远重复。

于 2013-11-08T05:59:45.380 回答