Java中的方法重载如果是double则返回小数部分,如果是int则返回它们

时间:2014-10-29 19:56:00

标签: java methods overloading

我目前正在通过教科书学习Java,但我遇到了一些困难。教科书要求我创建一个重载方法的程序,基本上用户输入两个数字,如果它们是一个整数,它会添加它们,然后将它们除以两个小数位。如果它们是双打的,那么就会留下小数位。我不知道如何使它显示它留下小数位,如果它是一个双。这是我的代码。这一切都适用于小数点部分。

int x = 0;
int y = 0;

public static void average(double m, double n) {
    System.out.println((m + n) / 2);    
}

public static void average(int l, int p) {
    System.out.println((l + p) / 2);
}

public static void main(String[] args) {
    double x = In.getDouble();
    double y = In.getDouble();
    int i =(int) x;
    int o =(int) y;

    if (x % 1 == 0)
        average(i,o);
    else
        average(x, y);
}

1 个答案:

答案 0 :(得分:0)

你的平均方法似乎很好。你只需要从你的主要方法中调用它们两个:

    average(i,o);
    average(x, y);

你不需要这个条件。

如果您的输入包含一个奇数和一个偶数,则int版本中的平均值为int,而double版本中的平均值则为一小部分。

根据您的评论,您需要返回平均计算的结果,因此请进行以下更改:

public static double average(double m, double n) {
    return (m + n) / 2;    
}

public static int average(int l, int p) {
    return (l + p) / 2;
}