広告
  サイト内検索:
<Let's create a game!> Introduction of programming for absolute beginners English
 

SESSION 9 その35
while文 つづき

もおー!!!

なぽちゃーん、
ひどーい!!!

こうなるの
知ってたんでしょ!!
もう騙されないからー!

あんぽんたんー!
あんぽんたんー!
あんぽんたんー!
そういう例
だってば。

まさか
こんなことに
なっちゃう
なんてーな。

ククク
悪い悪い。
条件式からフラグ消しちゃったからな。

ループを打ち切る処理が無いから
無限ループしちゃったんだよ。

もういくらフラグをfalseにしても
意味が無い。使ってないんだから。

勇者生命力が、int型の許容範囲を超えて
エラーになるまで回りっぱなしになるよ。
 

while文の例(KotoTest11のKNMain.java)
 
・・・      
030             while(true){  
・・・
条件式から、loopFlgを消してしまった。
 
 
・・・
041                     //生命力最大値以上になっていたら処理を終了する  
042                     if(yuushaLifePoint >= LIFE_POINT_MAX){  
043                               loopFlg = false;//ループ継続フラグを消す  
044                      }  
・・・      
そのため、loopFlgを変更しても、条件式にはフラグとして反映されない。
 
 
while文の処理の流れ(無限ループ)


なによ、この
「到達不能コード」って!

やっぱり分かってて
やったんじゃない!!!
だって~

いろいろ分かったでしょ~
注意することとかさあ。
何で関係ないところ
コメントアウト
するのか
不思議に
思ってたんだ!

IDEが
おりこうさんで
邪魔するんだもん。
 

終了メッセージをコメントアウトした理由
while文の例(KotoTest11のKNMain.java)48行目~
・・・      
048             //終了メッセージ  
049             //System.out.println("回復しました");  
・・・      
今回の変更によって、while文が無限ループするため、
先に処理が進まなくなっています。

そのため、その先にある「終了メッセージ」の処理は、絶対に実行されません。
これを
「到達不能コード」といいます。

コメント化しないと、IDEのチェックによりエラーと判断されてしまい、テスト実行に影響があるためコメント化しました。
(エラーのままでも強制的に実行させることは可能です。)
IDEのエラーチェック表示


じゃあさ、じゃあさ、

どうすればこのコード
ちゃんと動くようになる?

コードを直してみよう。
あっ、そうか!

これは条件式に
「直接trueを書く」
パターンだから・・・・
さて
さて
さて
もう1つの
やり方だね!


これでどうかな?

「2、条件式に直接trueを書く」
のやり方に変更して・・・
コードを、
フラグからbreakにしたの。


ちゃんと実行もできたよ。
どう?
ひゅー
ひゅー

三歩歩くと
忘れる頭
すてきー
OK!OK!

さっすがあー!
 

while文の例(KotoTest11のKNMain.java)41行目~
 
・・・      
041                     //生命力最大値以上になっていたら処理を終了する  
042                     if(yuushaLifePoint >= LIFE_POINT_MAX){  
043                               //loopFlg = false;//ループ継続フラグを消す  
044                               break;//ループを打ち切る  
045                      }  
・・・      
黄色の部分を書き写して実行して下さい。
 
実行結果(出力ウィンドウ)
実行結果(出力ウィンドウ)

     

while文は当面この
2つのパターンで
処理を作ってくれ。

条件で、不特定の回数
ループするやり方が
while文に合ってるんだよ。
そっか、
決まった数回、回すなら、
for文でできるもんね。

いろいろやるのは
ある程度できるように
なってからにするね。
while文は
これでおしまい。

ごまかすのも
おしまい。。。

ククク
なにブツブツ
言ってるの?



でも、
あんぽんたんって
美味しそうだね。
・・・

この
あんぽんたん。

 
 

広告
home もくじ 前のページを読む 次のページを読む
  サイト内検索:
広告
お勧めの姉妹サイト
leafdays - リーフデイズ 超初心者のための園芸入門 - 楽しい趣味のガーデニング -
広告