はじめに
Java のmax()メソッドは、Java のjava.langパッケージのDoubleクラスにある組み込みメソッドです。このメソッドは、引数として渡された 2 つの数値のうち、数値的に大きい方(最大値)を返します。ダブル値を扱っており、与えられた 2 つの値の間の最大値を見つけたい場合、Double.max()メソッドはそれを行う便利な方法です。
Java ファイルの作成
まずは、ターミナルを使ってホームディレクトリに移動し、次のコマンドを使ってMaxDouble.javaという名前の新しい Java ファイルを作成します。
touch MaxDouble.java
Java コードの記述
Double.max()メソッドがどのように機能するかを理解するために、コードエディタを使ってMaxDouble.javaファイルに次のコードを入力します。
public class MaxDouble {
public static void main(String[] args) {
double x = 34.5;
double y = -20.1;
System.out.println("Larger number is " + Double.max(x, y));
}
}
上記のコードでは、main メソッドを持つMaxDoubleという名前のクラスを作成しました。main メソッド内では、double 型の 2 つの変数xとyを宣言し、それぞれ 34.5 と -20.1 の値を割り当てました。その後、Double.max()メソッドを使ってxとyの間の最大値を出力しました。
Java コードのコンパイル
MaxDouble.javaファイルの変更を保存し、コードエディタを終了します。
次のコマンドを使ってMaxDouble.javaファイルをコンパイルします。
javac MaxDouble.java
Java コードの実行
次のコマンドを使ってコンパイル済みの Java プログラムを実行します。
java MaxDouble
実行されたプログラムの出力は次の通りです。
Larger number is 34.5
ユーザーから入力を受け取る
ユーザーから 2 つの double 型の値を入力として取得し、Double.max()メソッドを使ってそれらの間の最大値を見つけてみましょう。MaxDouble.javaファイルのコードを次のように変更します。
import java.util.Scanner;
public class MaxDouble {
public static void main(String[] args) {
try{
Scanner sc = new Scanner(System.in);
System.out.print("Enter the first number: ");
double num1 = sc.nextDouble();
System.out.print("Enter the second number: ");
double num2 = sc.nextDouble();
System.out.println("Larger number is " + Double.max(num1, num2));
}
catch(Exception e){
System.out.println("Invalid input!!");
}
}
}
上記のコードでは、Scannerクラスを使ってユーザーから 2 つの double 型の値を入力として取得しました。その後、Double.max()メソッドを使って 2 つの入力された数値の間の最大値を出力しました。
Java コードをコンパイルする
MaxDouble.javaファイルに保存された変更を保存し、コードエディタを終了します。
次のコマンドを使用してMaxDouble.javaファイルをコンパイルします。
javac MaxDouble.java
Java コードを実行する
次のコマンドを使用してコンパイル済みの Java プログラムを実行します。
java MaxDouble
実行されたプログラムの出力は次のとおりです。
Enter the first number: 35.4
Enter the second number: 67.89
Larger number is 67.89
Double.max() の代わりに Math.max() を使用する
Java では、2 つの double 型の値の間の最大値を見つけるためにMath.max()メソッドを使用することもできます。Math.max()メソッドはjava.langパッケージにある組み込みメソッドです。上記のコードを変更して、Double.max()メソッドの代わりにMath.max()メソッドを使用してみましょう。
import java.util.Scanner;
public class MaxDouble {
public static void main(String[] args) {
try{
Scanner sc = new Scanner(System.in);
System.out.print("Enter the first number: ");
double num1 = sc.nextDouble();
System.out.print("Enter the second number: ");
double num2 = sc.nextDouble();
System.out.println("Larger number is " + Math.max(num1, num2));
}
catch(Exception e){
System.out.println("Invalid input!!");
}
}
}
上記のコードでは、Double.max()メソッドをMath.max()メソッドに置き換えました。
Java コードをコンパイルする
MaxDouble.java ファイルに変更を保存し、コードエディタを終了します。
次のコマンドを使用して MaxDouble.java ファイルをコンパイルします。
javac MaxDouble.java
Java コードを実行する
次のコマンドを使用して、コンパイル済みの Java プログラムを実行します。
java MaxDouble
実行されたプログラムの出力は以下の通りです。
Enter the first number: 23.98
Enter the second number: 598.6
Larger number is 598.6
まとめ
この実験では、Java におけるDouble.max()メソッドと、このメソッドを使って 2 つの double 型の値の間の最大値を見つける方法について学びました。また、Double.max()メソッドの使い方を理解するためのいくつかの例も見ました。さらに、Java でユーザーからの入力を受け取り、Double.max()およびMath.max()メソッドを使って 2 つの数値の間の最大値を見つける方法についても学びました。



