カウンタの変数はiです。カウンタの初期値を1にし、カウンタの値が10以下のときにカウンタの値を表示させます。
// 1から10までの整数の表示 class Ex_for_01 { public static void main(String args[]){ int i; System.out.println("1から10までの整数を表示します。"); // for文による繰り返し for (i = 1; i <= 10; i++){ System.out.println(i); } } }
例題1の初期値、条件、増減の指定を変えればよい。
// 10から1までの整数の表示 class Ex_for_02 { public static void main(String args[]){ int i; System.out.println("10から1までの整数を表示します。"); // for文による繰り返し for (i = 10; i >= 1; i--){ System.out.println(i); } } }
例題1の増減の指定を10ずつ増やすにすればよい。
// 1から100までの整数を10間隔で表示 class Ex_for_03 { public static void main(String args[]){ int i; System.out.println(" 1から100までの整数を10間隔で表示"); // for文による繰り返し for (i = 1; i <= 100; i+=10){ System.out.println(i); } } }
// 1からnまでの整数を表示。nは入力する。 import java.io.*; import java.text.*; class Ex_for_04 { public static void main(String args[]){ int i,n; BufferedReader BF = new BufferedReader(new InputStreamReader(System.in)); DecimalFormat DF = new DecimalFormat(); String s; Number Num; System.out.println(" 1からnまでの整数を表示"); System.out.print("nの値を入力してください"); // nの入力 try { s = BF.readLine(); Num = DF.parse(s); n = Num.intValue(); } catch (IOException e) { n = 1;} catch (ParseException e) { n = 1; } // nが0より大きいときのみ繰り返し処理 if (n > 0) { // for文による繰り返し for (i = 1; i <= n; i++){ System.out.println(i); } } else { System.out.println("nが0以下なので表示しません"); } } }
繰り返しを使うと合計と平均を容易に計算できる。
合計を求めるときのポイント
// 1からnまでの整数を表示。nは入力する。 import java.io.*; import java.text.*; class Ex_for_05 { public static void main(String args[]){ int i, n, g; // カウンタ、入力数値、合計 double h; // 平均 BufferedReader BF = new BufferedReader(new InputStreamReader(System.in)); DecimalFormat DF = new DecimalFormat(); String s; Number Num; System.out.println("5つの整数を入力し、その合計と平均を求める表示"); System.out.println("---------------------------------------------"); // 合計を記憶する変数gの初期値を0に設定する。 g = 0; // 5回の繰り返しで合計を計算 for (i = 1; i <= 5; i++){ System.out.print(i + "個目の整数を入力してください :"); try { s = BF.readLine(); Num = DF.parse(s); n = Num.intValue(); } catch (IOException e) { n = 0;} catch (ParseException e) { n = 0; } // 合計の計算 g = g + n; } // 平均の計算 h = g / 5.0; System.out.println("平均は" + h + "です"); } }
forループの中にforループを入れ子にしたものを二重ループといいます。
ここでは5回のループの中に5回のループを入れ子にして合計25回のループでそれぞれのカウンタの変数を表示する例を示します。
最初のループのカウンタには変数aを入れ子にしたループには変数bを使っています。
class Loop_ex { public static void main(String args[]){ int a, b; // 最初のループ for (a = 1; a <= 5; a++){ // 入れ子にしたループ for (b = 1; b <= 5; b++){ System.out.println("a=" + a + "\tb=" + b); } } } }
入れ子にすると最初のループのある値に対して入れ子にしたループが指定された回数繰り返されます。これを最初のループが終わるまで繰り返します。
このプログラムを時移行すると次のような表示になります。
a=1 b=1 a=1 b=2 a=1 b=3 a=1 b=4 a=1 b=5 a=2 b=1 a=2 b=2 a=2 b=3 a=2 b=4 a=2 b=5 a=3 b=1 a=3 b=2 a=3 b=3 a=3 b=4 a=3 b=5 a=4 b=1 a=4 b=2 a=4 b=3 a=4 b=4 a=4 b=5 a=5 b=1 a=5 b=2 a=5 b=3 a=5 b=4 a=5 b=5