while 文での繰り返し処理
Java練習問題 第3回では「繰り返し処理」についての問題を用意してあります。
「繰り返し処理」の解説はこちら
問題 1 難易度 ★
採点結果に 80 以上の数値が入力されるまで、繰り返し入力を受け続けるプログラムを作成してください。
実行例
採点結果を数値で入力してください。
50
採点結果を数値で入力してください。
60
採点結果を数値で入力してください。
80
合格おめでとうございます!
問題 1 解答
正解は、、、
public class Main_0301 {
public static void main(String[] args) {
int score = 0;
while (score < 80) {
System.out.println("採点結果を数値で入力してください。");
score = new java.util.Scanner(System.in).nextInt();
}
System.out.println("合格おめでとうございます!");
}
}
for 文での繰り返し処理
問題 2 難易度 ★★
1 から 1000 までの整数の合計値を求めるプログラムを作成してください。
実行例
500500
問題 2 解答
正解は、、、
public class Main_0302 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 1000; i++) {
sum += i;
}
System.out.println(sum);
}
}
for 文のネスト
問題 3 難易度 ★★
二重の for 文を用いて以下の出力を行ってください。
(10 列×5 行の*を出力)
実行例
**********
**********
**********
**********
**********
問題 3 解答
正解は、、、
public class Main_0303 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 0; j < 10; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
問題 4 難易度 ★★
二重の for 文を用いて以下の出力を行ってください。
実行例
*
**
***
****
*****
問題 4 解答
正解は、、、
public class Main_0304 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
問題 5 難易度 ★★
掛け算九九表を出力するプログラムを作成してください。(文字間隔の調整は “\t”を使います。)
実行例
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
問題 5 解答
正解は、、、
public class Main_0305 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) { //9 行繰り返し
for (int j = 1; j <= 9; j++) { //9 列繰り返し
System.out.print(i * j + "\t");
}
System.out.println();
}
}
}
for 文のネストと条件分岐の組み合わせ
問題 6 難易度 ★★★
二重の for 文を用いて以下の出力を行ってください。
実行例
*
**
***
****
*****
****
***
**
*
問題 6 解答
正解は、、、
public class Main_0306 {
public static void main(String[] args) {
int num = 0; //1 行に出力する*の数
for (int i = 0; i < 9; i++) { //9 行出力
if (i < 5) {
num++; // ループカウンタが 5 未満の場合は*の数をインクリメント
} else {
num--; // ループカウンタが 5 以上の場合は*の数をデクリメント
}
for (int j = 0; j < num; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
Java練習問題 第4回でも引き続き「繰り返し処理」から出題します。
コメント