・   「Java入門編」 第7回

7:条件分岐と繰り返しの組み合わせ

条件分岐と繰り返しの構造を階層的に組み合わせることで、 より複雑な処理が実現できることを練習します。


・ 準備:

  1. LinuxもしくはWindowdsの環境でログインしなさい。
  2. 作業のための端末エミュレータのウィンドウを開きなさい。
  3. ホームディレクトリの下の Javaの作業用のディレクトリ java の中に移動しなさい。

・ 基本課題1:「break文の脱出の記述」
前回の実習でも用いましたが、繰り返しのブロックの脱出条件を ブロック内の ifの条件判定で行うことがしばしばあります。

  1. ソースファイル LoopBreak1.javaを作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行しなさい。
  4. 2を何回掛け合わせると100万を越えるか出力されるはずです。 そのことを確認しなさい。

・ 基本課題2:「break文の脱出の記述(2)」
課題2を参考にして、「3を何回掛け合わせると100万を越えるか?」を 調べるプログラムを作成しなさい。

  1. ソースファイル LoopBreak2.javaを作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行しなさい。
  4. 3を何回掛け合わせると100万を越えるか確認しなさい。

・ 基本課題3:「break文の脱出の記述(3)」
課題2,3を元に、今度は二重ループを利用して、 2から9までの数の全てに対して、何回掛け合わせると100万を越えるか 調べるプログラムを作成しなさい。

  1. ソースファイル LoopBreak3.javaを作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行しなさい。
  4. 結果は次のようになるはずです。確認しなさい。 (ヒント)

2**20>1000000
3**13>1000000
4**10>1000000
5**9>1000000
6**8>1000000
7**8>1000000
8**7>1000000
9**7>1000000

・ 基本課題4:「条件判定をして出力を制御」
今度は、与えられた数の約数を調べ、もしあればすべて並べて出力することにします。 約数の判定には余りを計算する%を利用できます(余りの値が0ならば約数)。

  1. ソースファイル Yakusuu.javaを作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行しなさい。
  4. どのような処理で表示が行われたのか考えてみなさい。

・ 基本課題5:「条件判定をして出力を制御(2)」

  1. 課題5のプログラムを改良して、下記のようにきれいにそろえて表示 できるようにしなさい。 プログラムのソース名は Yakusuuのままでかまいません。

 1:1,
 2:1,2,
 3:1,3,
 4:1,2,4,
 5:1,5,
 6:1,2,3,6,
 7:1,7,
 8:1,2,4,8,
 9:1,3,9,
10:1,2,5,10,
11:1,11,
   :
   :


・ メールによるレポート課題: 以下の結果を tatsuo宛のメール で知らせてください。 件名(Subject)は java10

  1. 本文には学籍番号と氏名
  2. 課題3で作成したプログラム LoopBreak3.java のソースファイルを添付しなさい。
  3. 課題5で作成したプログラム Yakusuu.java のソースファイルを添付しなさい。

・ 応用課題1:「条件分岐による出力の工夫」

  1. 課題5のプログラムをさらに改良し、 出力される行の最後の余分な ,(コンマ)を出力しないようにするには どうすればいいか考えてみなさい。

・ 応用課題2:「条件分岐による処理の工夫」
課題5のプログラムを参考にして、次のような条件を満たす新しい処理の プログラムを作成してみなさい。 ソースファイル名は新たに Yakusuu2.java としなさい。

  1. 約数の個数が3個の場合のみ課題5の形式で出力する。
  2. 調べる対象を20以下に限定しない。
  3. 20個発見して表示するまで処理を続行する。

実習の目次   今週の講義の内容