制御構造(3) 多重ループ、break文、continue文

次回の中間テストについて

演習参考資料

本日の授業のテキスト範囲

テキスト「ITText Java基本プログラミング」
  1. pp.9-11「3.スコープ」
  2. pp.50-52「3.ブロック」
  3. pp.52-53「4.繰り返しや分岐処理での参照の注意」
  4. pp.67-69 (break文, continue文)

演習の達成目標

授業時間内提出課題(2問)

授業時間内提出課題 問1, 2 ※提出必須 授業時間内に提出すること
コメントとインデントを参考に、各プログラムは正しくインデントすること。
  1. 下記例題では、while文の無限ループ(whileの条件が常にtrue)を用いて、0から10まで数える未完成のプログラムである。
    例題1
    int i = 0;                       //iを初期化
    while(true){                     //whileの条件が常にtrue = 無限ループ
        System.out.print(i);         //iを表示
        if(i==10) {                  //終了条件(i==10)を確認
            System.out.println();    //改行を出力
        }else{
            System.out.print(",");   //カンマを出力
        }
        i++;                         //iを一つ増やす
    }
    
    しかし、このままでは、while文から脱出できないため、プログラムが終了しない。
    (無限ループのプログラムを強制終了するためにはjavaを実行したコンソールで[Ctrl]+[C]を入力)
    上記例題1を元に、iが10の時にwhile文の無限ループを終了するために、breakを正しい箇所に追加し、Kadai5_1.javaを完成せよ。

    実行例(修正後)
    0,1,2,3,4,5,6,7,8,9,10
    

  2. 下記例題では、for文を用いて、0から10まで偶数のみ表示する未完成のプログラムである。
    例題2
    for(int i=0; i<=10; i++){
        if(i%2==1) {               //iを2で割った余りが1(すなわち奇数)の場合
            System.out.print("."); //奇数の代わりに.を表示
        }
        System.out.print(i);       //偶数だけ表示したい
    }
    System.out.println();
    
    しかし、このままでは、奇数も偶数も表示されてしまう。
    上記例題2を元に、iが奇数の時は数値を表示せず'.'のみ表示するように、continueを正しい箇所に追加し、Kadai5_2を完成せよ。(elseを利用せずにcontinueを用いること)

    実行例(修正後)
    0.2.4.6.8.10
    

課題の提出方法

課題の提出方法は、各クラス担当者の指示に従う。 正しく実行できることを確認の上、授業時間内提出課題のプログラムを提出せよ。

印刷提出の場合

プログラムが正しく実行できることを確認の上、担当者の指示に従い Kadai5_1.java Kadai5_2.java のプログラムソースコードを印刷して提出せよ。
印刷方法
nkf -e Kadai5_1.java | mpage -2f -bA4 | lpr -Pプリンタ名
上記がうまくいかない場合は mpage を省く
nkf -e Kadai5_1.java | lpr -Pプリンタ名

WebClass提出の場合

提出手順
  1. WebClassのプログラミング基礎演習コースを開く
  2. 教材から本日の日付の 提出課題(問1) をクリック
  3. [開始] をクリック
  4. 問1の回答記入欄に Java で作成したKadai5_1.javaプログラムソースコードをコピーペーストで貼り付ける
  5. [回答を保存] をクリック
  6. [終了] をクリック
同じ手順で提出課題(問2)Kadai5_2.javaを提出する。


<mackin>