このページは「JAVAの分岐構文 If-Else」の演習問題です。「JAVAの分岐構文 If-Else」の基礎を学びたい方はこちらで参考してください。
JAVAの分岐構文 If-Else
この記事ではJAVAの分岐構文の定義、使い方などを紹介します。if else文は2つの値の大小関係や、等しい・等しくないなどの条件により処理を変える場合に使われます。制御命令の中などによく使われていますので理解しましょう。
1. 2つの数字を入力し、比較する
問題:キーボードから二つのinteger型の数字を入力して、比較して、コンソールに出力する
解答例
例
package helloworld; import java.util.Scanner; //Scannerクラスのimport public class HelloWorld { public static void main(String[] args) { int x, y; //Scannerクラスのインスタンスを作成する Scanner scanner = new Scanner(System.in); System.out.print("xの値を入力する: "); x = scanner.nextInt(); System.out.print("yの値を入力する: "); y = scanner.nextInt(); if (x < y) { //xはyより小さければ... System.out.println("比較結果:" + x + " < " + y); } else if (x == y) {////xはyより等しければ... System.out.println("比較結果:" + x + " = " + y); } else {//以上の二つの場合でもなければ... System.out.println("比較結果:" + x + " > " + y); } } }
実行結果:
2. 閏年の確認するプログラム
問題: キーボードから好きな年を入力して、その年は閏年かそうではないか確認するプログラムを作成する。
ヒント : 閏年は以下の条件をどっちか満たす年です。解答例
例
package helloworld; import java.util.Scanner; //Scannerクラスのimport public class HelloWorld { public static void main(String[] args) { int year; Scanner scanner = new Scanner(System.in); System.out.print("好きな年を入力する: "); year = scanner.nextInt(); if ((year%4 == 0 && year%100 != 0) || year%400 == 0) { System.out.println(year + " は閏年です。"); } else{ System.out.println(year + " は閏年ではありません。"); } } }
実行結果:
説明:
年が「4で割り切れる」かつ「100で割り切れない」年
は year%4 == 0 && year%100 != 0
で表されて、年が400で割り切れる年
は year%400 == 0
で表される。(year%4 == 0 && year%100 != 0) || (year%400 == 0)
→ (FALSE && FALSE) || FALSE
→ FALSE || FALSE
→ FALSE
になるので、二つ目の波括弧内容System.out.println(year + " は閏年ではありません。")
を実行して終了しました。3. 三角形の周囲の計算プログラム
問題:三角形の3つの辺をキーボードから入力して、周囲を計算する
注意 : 三角形の周囲を計算する前に、入力された3つの辺から三角形ができるか判定すること。解答例
例
package helloworld; import java.util.Scanner; //Scannerクラスのimport public class HelloWorld { public static void main(String[] args) { float hen1,hen2,hen3,shui; Scanner scanner = new Scanner(System.in); System.out.print("辺1を入力する: "); hen1 = scanner.nextFloat(); System.out.print("辺2を入力する: "); hen2 = scanner.nextFloat(); System.out.print("辺3を入力する: "); hen3 = scanner.nextFloat(); if ((hen1 + hen2 > hen3) && (hen1 + hen3 > hen2) && (hen2 + hen3 > hen1)) { shui = hen1 + hen2 + hen3; System.out.println("三角形の周囲 = " + shui); } else { System.out.println("この3つの辺から三角きが成立できません。"); } } }
実行結果:
説明:
a辺,b辺,c辺から三角形ができる条件は a+b>c かつ a+c>b かつ b+c>aです。
4. ax + b = 0方程式を解くプログラム
問題:ax+b=0のa、bをキーボードから入力して、xを求める(1次方程式を解く)プログラムを作成する。
ヒント:
解答例
例
package helloworld; import java.text.DecimalFormat; import java.util.Scanner; //Scannerクラスのimport public class HelloWorld { public static void main(String[] args) { int a, b; double kai; DecimalFormat decimalFormat = new DecimalFormat("#.##"); // 小数第二位まで四捨五入する Scanner scanner = new Scanner(System.in); System.out.print("aを入力する: "); a = scanner.nextInt(); System.out.print("bを入力する: "); b = scanner.nextInt(); System.out.println("1次方程式: " + a + "x + " + b + " = 0."); if (a == 0) { if (b == 0) { System.out.println("解が無数にある。"); } else { System.out.println("解がない。"); } } else { kai = (double) -b / a; // (-b/a)の結果をdouble型に変換する System.out.println("解 x = " + decimalFormat.format(kai) + "."); } } }
実行結果:
5. まとめ
ここまではJAVAの分岐命令if else の構文や使い方がわかりましたでしょうか!かなり難しい問題を出しましたが、理解しましょう。
広告