Javaプログラミング入門-練習問題2


Javaプログラミング問題2

Q 1小九九を偶数セグメントだけ出力するプログラムを作成しましょう。(連続文を使用)

public class B123p2 {

	public static void main(String[] args) {
		int dan;
		int times;
		
		for(dan = 2; dan <= 9; dan++) {
			if(dan % 2 ==1)
				continue;
			for(times = 1; times <= 9; times++) {
				System.out.println(dan + "X" + times + "=" + dan * times);
		}
			System.out.println( );
	}

  }
}
まず宣言対象の名称は丹danで、timesに乗ります.
固定値の繰返し計算に役立つfor文でgugudanプログラムを記述した.この場合,dan,timesの両者を繰り返し乗算する必要があるため,重複複文を用いた.
①2~9段の複文を繰り返す必要があります.
②各段に1~9の繰り返し文を掛ける.
上記の繰り返し文の中で、単数が増えた部分と乗数が増えた部分の中で、まず何を繰り返すべきでしょうか.
外部for文の初期化値はdan=2であるためgugudan 2段目から始まる.完了すると内部for文に入り、初期化値time=1から1を増やし、9以下を乗算します.
次にif文を使用して条件を設定し、偶数セグメントのみを出力します.
偶数のみを出力する方式は、数字を2で割った後、残りの数は0です.
では(偶数条件)dan%2=0 if文の使用は成功しましたか?偶数セグメントのみ出力できますが、問題では条件としての継続文は使用されません.
(奇数条件)dan%2=1というif文を作成し、continue文を使用します.奇数でない場合は、外部オーバーラップ文を終了し、1を加えて戻ります.
こうして偶数段だけ出力したgugugudan番組が完成!

Q小数点以下または小数点以下の乗算のコツのみを出力するプログラムを作成します。(ブレークポイントを使用)

public class B123p3 {

	public static void main(String[] args) {
		int dan;
		int times;
		
		for(dan = 2; dan <= 9; dan++) {
			for(times = 1; times <= 9; times++) {
				if(times > dan)
				break;
				System.out.println(dan + "X" + times + "=" + dan * times);
				
		} 
			System.out.println( );
	}

 }
}
上の九九九九九九九のコードを先に貼り付けて、if文で小数または小数を乗じた場合をどのように表現するかを考えます.
2セグメント以下を乗算すると、2 X 2=1,2 X 2=4となります.
したがってif(times>dan)に設定します.次にbreak文を加え、乗算を停止させ、さらにセグメントを追加します.
つまり、2 X 2になると乗じて中断し、加算された部分に戻ります.
メッセージ
繰り返し文の実行を続行しますが、場合によっては実行文を省略する場合に使用します.
break文は、重複文を実行せずに終了するために使用されます.