2017-11-26 18 views
-2

これは文字であれば入力とループの検証に使用されるコードの一部ですが、文字が入力されても無限ループが発生しますが、整数の場合はうまく動作します中古。私は何が無限ループを引き起こしているのかわかりませんが、どんな助けもありがたいです。Java無限ループ、検証中

System.out.println("Please type in a mark and enter -1 to end the program"); 

    while (mark != -1) { 

     if (in.hasNextInt()) { 
      mark = in.nextInt(); 
     } 
     else { 
      System.out.println("Please input an integer: "); 

     } 
+0

'System.out.println("整数を入力してください: "); in.nextLine(); ' –

答えて

1

あなたが入力した文字場合:それはループしたときに、in.hasNextIntは()elseとループに入る、まだ偽である、

if (in.hasNextInt()) 

はfalseを返します、そして、あなたは他に行きます永遠に。