カウンタの変数は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