中級 › ループが終わらない・空回りする原因 › パターン5
ループが終わらない・空回りする原因
カウンタ更新の忘れ、更新方向の誤り、forの直後のセミコロンという3パターンを扱います。
1 public class Main { 2 public static void main(String[] args) { 3 int i = 0; 4 boolean cont = true; 5 while (cont __ true) { ^ 6 System.out.println(i); 7 i++; 8 if (i >= 3) cont = false; 9 } 10 } 11 }
出力: 0 1 2 3 4 ... が無限に続く(プロセスが終わりません)
空欄を埋めてビルドを通す
whileの条件で = を書くと、毎回contにtrueを代入してしまいます。ループ内でfalseにしても次の判定で上書きされ、条件は常にtrueのままです。
次の問題