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