Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaで3つの数値の中から最大値を見つけるプログラムの作り方

はじめに

本記事では、Javaを使って3つの整数の中から最大値を見つける方法を解説します。値の比較には比較演算子(>=)を使用し、シンプルなif-else文で各値を順番に比べていく、初心者にもわかりやすいアプローチを紹介します。

入力と出力の例

入力:

-50, 30, 50

出力:

最大の数値は 50 です

アルゴリズム

  1. 処理を開始する。
  2. 3つの整数型変数 input_1、input_2、input_3 を宣言する。
  3. ユーザーに3つの整数の入力を促す(または値をコード内で直接定義する)。
  4. 値を読み込む。
  5. if-else文を使い、1つ目の値が他の2つよりも大きいかどうかを判定する。最大でなければ、残りの2つの値についても同様に比較を行う。
  6. 結果を表示する。
  7. 処理を終了する。

例1:ユーザーからの入力を受け取る場合

この例では、Scannerクラスを使って、ユーザーがコンソールから入力した3つの整数を取得します。実際にキーボードから値を入力して動作を確認できるため、学習用におすすめの方法です。

import java.util.Scanner;

public class Largest {
   public static void main(String[] args) {
      int my_input_1, my_input_2, my_input_3;

      System.out.println("必要なパッケージがインポートされました");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("Scannerオブジェクトが定義されました");

      System.out.print("1つ目の数値を入力してください:");
      my_input_1 = my_scanner.nextInt();
      System.out.print("2つ目の数値を入力してください:");
      my_input_2 = my_scanner.nextInt();
      System.out.print("3つ目の数値を入力してください:");
      my_input_3 = my_scanner.nextInt();

      if (my_input_1 >= my_input_2 && my_input_1 >= my_input_3)
         System.out.println("最大の数値は " + my_input_1 + " です");
      else if (my_input_2 >= my_input_1 && my_input_2 >= my_input_3)
         System.out.println("最大の数値は " + my_input_2 + " です");
      else
         System.out.println("最大の数値は " + my_input_3 + " です");
   }
}

実行結果

必要なパッケージがインポートされました
Scannerオブジェクトが定義されました
1つ目の数値を入力してください:-50
2つ目の数値を入力してください:30
3つ目の数値を入力してください:50
最大の数値は 50 です

例2:値をあらかじめ定義しておく場合

次の例では、3つの整数値をコード内であらかじめ定義し、その値を比較して結果をコンソールに表示します。入力処理が不要なため、ロジックの動きだけを確認したい場合に便利です。

public class Largest {
   public static void main(String[] args) {
      int my_input_1 = -50;
      int my_input_2 = 30;
      int my_input_3 = 50;

      System.out.println("定義された3つの数値:" + my_input_1 + "、" + my_input_2 + "、" + my_input_3);

      if (my_input_1 >= my_input_2 && my_input_1 >= my_input_3)
         System.out.println("最大の数値は " + my_input_1 + " です");
      else if (my_input_2 >= my_input_1 && my_input_2 >= my_input_3)
         System.out.println("最大の数値は " + my_input_2 + " です");
      else
         System.out.println("最大の数値は " + my_input_3 + " です");
   }
}

実行結果

定義された3つの数値:-50、30、50
最大の数値は 50 です

補足:Math.max()を使った簡潔な書き方

if-else文を使わずに、標準ライブラリのMath.max()メソッドを組み合わせることで、最大値をより短いコードで求めることもできます。

int largest = Math.max(my_input_1, Math.max(my_input_2, my_input_3));
System.out.println("最大の数値は " + largest + " です");

この方法なら、ネストした条件分岐を書く必要がなく、可読性の高いコードになります。

まとめ

3つの整数の最大値を求める基本的な流れは、「値を用意する → 比較演算子で大小関係を判定する → 結果を出力する」というシンプルなものです。まずはif-else文での比較ロジックを理解し、慣れてきたらMath.max()を使った簡潔な書き方も試してみてください。条件分岐の基礎固めとして、ぜひ自分でコードを書いて動かしてみましょう。

  1. Javaで台形の面積を求めるプログラムの作成方法を解説

    この記事では、Javaを使って台形(トラペジウム)の面積を求める方法について詳しく解説します。台形とは、少なくとも1組の対辺が互いに平行になっている四角形のことです。平行な2つの辺は「底辺」と呼ばれ、平行でない残りの2つの辺は「脚」と呼ばれます。英語圏では trapezoid(トラペゾイド)と呼ばれることもあります。 台形の面積は、次の公式を使って計算できます。 面積 = (高さ ÷ 2) × (上底 + 下底) すなわち、 面積 = ½ × (平行な2辺の長さの合計) × (平行な2辺間の垂直距離) 以下に具体的なイメージを示します。平行な2辺の長さを a、b、台形の高さを h としたとき

  2. 【Java入門】長方形の周囲(外周)を求めるプログラムの作り方

    長方形の周囲とは? この記事では、Javaを使って長方形の周囲(外周)を求める方法を解説します。長方形の周囲とは、長方形の4つの辺すべての長さを足し合わせた合計のことで、次の図のように「縦の辺2本」と「横の辺2本」の長さを合計したものに相当します。 長方形は向かい合う辺の長さが等しいという性質を持つため、周囲は次の式で計算できます。 周囲 = 2 ×(縦の長さ + 横の長さ) 入力と出力の例 たとえば、入力が次の値であるとします。 長方形の各辺の長さ:5, 8, 5, 8 このとき、期待される出力は次のとおりです。 Perimeter : 26 アルゴリズム 処理の流れは以下のようになりま