2016-01-20 67 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