2016-01-20 30 views
-2

這是我迄今爲止,我已經在它一段時間,似乎無法弄清楚。我將不勝感激任何幫助。無法計算如何超載使用方法

public static double average(int NumOne,int NumTwo){ 
    double Sum; 

    Sum = (((double)NumOne + (double)NumTwo)/2); 
    return (Sum); 
} 
public static double average(int NumThree){ 
    double Sum = 0; 

    Sum = + (((double)NumThree)/3); 
    return (Sum); 
} 

public static void main(String[] args) { 
    Scanner Input = new Scanner(System.in); 
    int Num1,Num2,Num3; 

    System.out.print("Enter the first number:"); 
    Num1 = Input.nextInt(); 

    System.out.print("Enter the second number:"); 
    Num2 = Input.nextInt(); 

    System.out.print("Enter the third number:"); 
    Num3 = Input.nextInt(); 

    System.out.print(average(Num1, Num2)); 
    System.out.print(average(Num3)); 
} 

}

+4

那你想幹什麼? – sinclair

+1

編寫一個名爲average的方法,接受兩個整數參數並將其平均值作爲浮點值返回。 重載平均運動方法,以便該方法返回三個整數的平均值。 –

+2

您已經成功地重載了一個方法。但是,新的重載方法的簽名不接受三個整數,正如您在註釋中指定的那樣。你希望'public static double average(int numOne,int numTwo,int numThree)'。 [順便說一下,幾乎所有的變量都是Java中的小寫。] –

回答

0
public static double average(int NumOne,int NumTwo){ 
    double Sum; 

    Sum = (((double)NumOne + (double)NumTwo)/2); 
    return (Sum); 
} 

public static double average(int NumOne, int NumTwo, int NumThree){ 
    double Sum = 0; 

    Sum = (((double)NumOne + (double)NumTwo + (double)NumThree)/3); 
    return Sum; 
} 

然後在你的主:

System.out.print(average(Num1, Num2)); 
System.out.print(average(Num1, Num2, Num3)); 
+0

但是,由於它沒有將它分成兩個單獨的num-1和num-2打印輸出,所以是重載? –

+0

添加了原始的「平均」方法,以顯示它們仍然是兩個單獨的重載方法。 – Jason