このページは「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); } }
実行結果:
広告