import java.io.*;
public class LargestOfTwo{
public static void main(String args[]) throws Exception{
BufferedReader scan = new BufferedReader(new InputStreamReader(System.in));
double num1, num2 , large;
System.out.println("Enter two numbers, and I will show you which one's largest!\n");
System.out.println("Enter two numbers: ");
num1 = Double.parseDouble(scan.readLine());
num2 = Double.parseDouble(scan.readLine());
large = largest(num1,num2);
System.out.print("Largest of the numbers is "+large);
}
private static double largest(int x,double y){
System.out.println("id");
if (x>y)
return x;
else
return y;
}
private static double largest(double x,int y){
System.out.println("ii");
if (x>y)
return x;
else
return y;
}
private static double largest(double x,double y){
System.out.println("dd");
if (x>y)
return x;
else
return y;
}
}
関数のオーバーロード(入力浮動小数点値とint値)を使用して、入力された2つの数値のうち最大値を見つける必要があります。関数は異なる入力で同じブロックを呼び出すだけです
これらの印刷テキスト(id、ii、dd)によって呼び出しが特定のメソッドに進むかどうかを調べました。
private static double largest(int x,double y){
System.out.println("id");
}
private static double largest(double x,int y){
System.out.println("ii");
}
private static double largest(double x,double y){
System.out.println("dd");
}
しかし、それだけでDDを実行します -
private static double largest(double x,double y)
それがために間違った変数の初期化であるかどうか?どうすればこの問題を解決できますか?
としてダブルNUM1を
num1
とnum2
の両方をキャスト、 num2;ダブルタイプの場合は、この場合2ダブルリファレンスビットパターンのコピーを送信してください。jvmはddがこれに最も適していると思いますか? – HRgigerこれは何ですか? – JoeTinnySpace
なぜ気になる?私は完全に整数だけでなく、二重範囲に適合する3を入力することができますので、あなたに最適なものを選択することができますので、小数点以下の桁も処理したい場合は、彼らはどのプリミティブタイプ – HRgiger