1

この記事の目次



このページは「JAVAの分岐構文 If-Else」の演習問題です。「JAVAの分岐構文 If-Else」の基礎を学びたい方はこちらで参考してください。

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.  閏年の確認するプログラム


問題: キーボードから好きな年を入力して、その年は閏年かそうではないか確認するプログラムを作成する。

ヒント : 閏年は以下の条件をどっちか満たす年です。

  • 年が「4で割り切れる」かつ「100で割り切れない」年
  • 年が400で割り切れる年
  • 解答例
    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で表される。
  • 2019年の例として(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次方程式を解く)プログラムを作成する。

    ヒント:

  • a=0かつb=0の場合:解が無数にある
  • a=0かつb≠0の場合:解がない
  • それ以外の場合:x = -b/a
  • 解答例
    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 の構文や使い方がわかりましたでしょうか!かなり難しい問題を出しましたが、理解しましょう。

    広告