我正在用兩種不同的數據類型實現方法重載。這就是我以代碼結束的過程。 但現在它找不到符號c和d。任何幫助?如何在函數調用中修復'找不到符號'?
import java.util.*;
import java.lang.*;
public class LargestOfTwoTest{
public static void main(String args[]) throws Exception{
Scanner scan = new Scanner(System.in);
System.out.println("Enter two numbers, and I wiil show you which one's largest!\n");
System.out.println("Enter two numbers: ");
double a = scan.nextDouble();
double b = scan.nextDouble();
if (a==(Math.floor(a))){
int c = (int) a;
}
else{
double c = a;
}
if (b==(Math.floor(b))){
int d = (int) b;
}
else {
double d = b;
}
System.out.print("Largest of the numbers is "+largest(c,d));
}
public static int largest(int x, int y){
if (x>y)
return x;
//System.out.print("Largest of the numbers is "+x);
else
return y;
//System.out.print("Largest of the numbers is "+y);
}
public static double largest(double x, double y){
if (x>y)
return x;
//System.out.print("Largest of the numbers is "+x);
else
return y;
//System.out.print("Largest of the numbers is "+y);
}
}
顯示在此行
System.out.print("Largest of the numbers is "+largest(c,d));
誤差..
LargestOfTwoTest.java:29:錯誤:找不到符號
(c和d)
您已聲明'c'和'd'超出了您的invo範圍'最大'的陽離子,這與超載無關。 – Mena
在單個作用域中,只能有一個變量聲明。通過將聲明放入'if'來創建不同的聲明的嘗試將不起作用,因爲'if'塊是單獨的作用域,並且只要該塊完成,聲明就會超出範圍。 – RealSkeptic
您應該將您的標題改爲特定問題,否則您將繼續陷入低調。只是一個友好的領導。 – samosaris