このページは「JAVAの繰り返し構文 while」の演習問題です。「JAVAの繰り返し構文 while」の基礎を学びたい方はこちらで参考してください。
JAVAの繰り返し構文 while
この記事ではJAVAの繰り返し構文 while, do-whileの使い方を紹介します。break文、continue文でループを制御する構文も説明します。使いこなすようにしましょう
1. n数字までの偶数の出力
問題:1から20までの中の偶数をコンソールに出力する
解答例
例
package helloworld;
public class HelloWorld {
public static void main(String[] args) {
int number = 2;
System.out.print("1から20までの中の偶数は ");
while (number <= 20) {
System.out.print(number + "; ");
number += 2;
}
}
}実行結果:

number = 2でnumber変数を宣言して、2の初期値するnumber<20であれば、numberの値をコンソールに出力するnumber>20だったら、ループ終了します。2. 最大公約数と最小公倍数を計算する
問題:int型のa,b(a,b>0)を宣言し、a,bの最大公約数と最小公倍数を計算する
ヒント:

解答例
例
package helloworld;
public class HelloWorld {
public static void main(String[] args) {
int a = 10;
int b = 15;
int i,r,x;
System.out.println(a + "と" + b + "に対して:" );
x = a * b;
if(a < b){
i = a;
a = b;
b = i;
}
// ユークリッドの互除法
r = a % b;
while(r!=0){
a = b;
b = r;
r = a % b;
}
// 最大公約数
System.out.println("最大公約数 = " + b );
// 最小公倍数を出力
System.out.println("最小公倍数 = " + x/b );
}
}実行結果:

3. 自然数の階乗
問題:int型のa変数を宣言し、aの階乗を計算する
ヒント : 階乗の計算方法 : n ! = n ( n − 1 ) ( n − 2 ) ⋯ ⋅ 3 ⋅ 2 ⋅ 1解答例
例
package helloworld;
public class HelloWorld {
public static void main(String[] args) {
int a = 10;
int n = 1;
int fact = 1;//aの階乗の結果
//aの階乗を計算するループ
while (n <= a) {
fact *= n;
n++;
}
System.out.println(a+"! = " + fact);
}
}実行結果:

4. 12 + 22 + ... + n2を計算する
問題:n自然数までの 12 + 22 + ... + n2を計算する
条件 : While文を使用すること解答例
例
package helloworld;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
int n, i = 1;
int sum = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("n数字を入力する : ");
n = scanner.nextInt();
while (i <= n) {
sum += i * i;//iの2畳をsumに足し加える
i++;
}
System.out.println(n + "までの二乗の和 = " + sum);
}
}実行結果:

5. 自然数の各桁の数字の和
問題:入力した自然数の各桁の数字の和を計算する。
条件 : while-do文を使用すること。例 : 自然数1234の場合:1+2+3+4 = 10になる。
解答例
例
package helloworld;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
int number, balance;
int sum = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("自然数を入力する: ");
number = scanner.nextInt();
System.out.print(number + "の各桁の数字の和 = ");
do{
balance = number % 10;//10を割った余りで、現在のnumberの最後の桁になります。
sum += balance;//現在のnumberの最後の桁をsumに加える。
number /= 10;//現在のnumberの最後の桁をカットする,number<10の場合はnumber /= 10より、num=0になります。
} while (number > 0);
System.out.println(sum);
}
}実行結果:

広告