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 があり、その後に と の間のブロックが{あり}ます。これは、空のステートメントを含むループが永遠に繰り返されるため実行されません。

于 2013-11-08T05:59:45.380 に答える