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;
}
}
我需要使用函數重載(輸入浮點值和整型值)來查找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, NUM2;」作爲double類型,您只需發送2個雙引用位模式的副本,在這種情況下,jvm認爲dd是最合適的 – HRgiger
對此的任何修復? – JoeTinnySpace
你爲什麼在意?假設我輸入了3,它完全符合整數以及雙倍範圍,所以你可以選擇哪一個最適合你,如果你想要處理小數位,我也會用double來進行更大的範圍,如果我明白的話他們不要求你檢測哪個原始類型 – HRgiger