我目前正在通过一本课本学习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);
}
您的平均方法似乎不错。你只需要从你的主要方法调用它们:
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;
}