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

SESSION 9 その37
練習問題

じゃあ、テストな。

新プロジェクトを作って
「KotoTest10」のfor文の例を
while文に書き換えてくれ。
「KotoTest12」
を作ってね。
あと、
処理の
順番かな。
はいっ。

ポイントは、while文には
カウンターが無いところ

だよね。

  練習問題4:問い



練習問題 4
 
問:プロジェクト名:KotoTest10の for文の例 を、
  for文からwhile文を使った形に変更しなさい。
 
 
 

for文の例(KotoTest10のKNMain.java)17行目~
 
・・・      
017   public static void main(String[] args) {  
018            // TODO code application logic here  
019      
020            for(int i = 0;i < 10;i++){  
021                     //現在のカウントをロケットの号数に補正  
022                     int num = i + 1;  
023      
024                   //ロケットを打ち上げるメッセージを表示
025                     System.out.println("ロケット" + num +  
026                                                 "号機を打ち上げました。");  
027            }  
028      
029            //終了メッセージ  
030            System.out.println("計画完了");  
031      
032   }  
・・・      
 
 
あんま
気張るなよ。
 
あたしは
できる!
いろいろな形で
作れるからね。

柔軟にね。
 
for文の改変前の、
一番最初の例じゃない。

これなら大丈夫!



えーと、まずは
処理の順番考えて・・・・

それから、カウンター用の
変数を作って・・・

終了チェックの仕方も
変えなきゃだめかな・・・

うーん、for文では
「10未満なら開始」だから、
while文では、逆にして
「10以上なら終了」にすれば・・・

お、いい感じかな。

ゆっくりねー。
  カチャカチャ
えーと
えーと・・・

ちょっと
難しいな・・・
焦んないでね。


  タンッ

完了!
うーんと、うーんと・・・

for文の処理の順番は
最後にカウントアップだから・・・

よし、できた!
こんな感じかな。


どうかな?
 
じゃあ、とりあえず
実行してみれば。
  意外と
順調ね。
 



実行結果(出力ウィンドウ)
実行結果(出力ウィンドウ)
 
ああああー!!
テストで実行したら・・・


あれ、終わんないよー!

なんでー???
無限ループしてる???


とっ、止めなきゃ!
止めなきゃ!
あわわ・・・

ロケットが
飛びすぎだよー
さすがに
ちょっと
慣れてきたね。

進歩、進歩。 
慌てるなって。

今までと同じように
停止ボタンで止めれば
いいから。



なんでできないの???

終了チェックもちゃんと
「10以下なら終了」に
変えたし・・・。

ちゃんとやってるのにー!
なんでー???
あのさ、
変数の有効範囲

思い出してくれよ。

なんで、
勇者生命力変数は
ブロック外で宣言して
たんだっけ?
分かんないー
ちゃんと
やってませんよー。
 

練習問題4 ことの解答:仮(KotoTest12のKNMain.java)17行目~
 
・・・      
017   public static void main(String[] args) {  
018            // TODO code application logic here  
019      
020            while(true){  
021                     //カウンター用の変数を宣言・初期化  
022                      int i = 0;  
023      
024                     //現在のカウントをロケットの号数に補正  
025                     int num = i + 1;  
026      
027                   //ロケットを打ち上げるメッセージを表示
028                     System.out.println("ロケット" + num +  
029                                                 "号機を打ち上げました。");  
030      
031                      //最後にカウントをアップする  
032                      i = i + 1;  
033      
034                      //終了チェック処理  
035                      if(i >= 10){  
036                              break;  
037                      }  
038            }  
039      
040            //終了メッセージ  
041            System.out.println("計画完了");  
042      
043   }  
・・・      
無限ループする原因を探してください。


あ、そうか。
変数の有効範囲!

勇者生命力変数が
そうだったっけ。。。

もっかい
見直してねー。

ごめーん。

忘れてた。
まあ、
最初のうちは
こんなもんだよ。

 
 

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