第一次在这里发帖,格式不对。
public static void main(String args[]) {
float x, y, z;
System.out.println("Enter two integers to calculate their sum ");
Scanner in = new Scanner(System.in);
x = in.nextFloat();
y = in.nextFloat();
z = x + y;
System.out.println("Sum of entered integers = "+z);
}
public static void main1(String args[]) {
int x, y, z;
System.out.println("Enter two integers to calculate their sum ");
Scanner in = new Scanner(System.in);
x = in.nextInt();
y = in.nextInt();
z = x + y;
System.out.println("Sum of entered integers = "+z);
}
}
例如,我需要帮助方法重载让我的程序用 int 和 float 相加 4 和 5 = 9
4.0 和 5.0 = 9.0
但到目前为止,即使我只是输入带有 int 值的数字,我的输出也只给我浮点值。
最佳答案
您的 main
方法将输入和总和存储在 float
变量中,这就是总和也是 float 的原因。
您的其他方法 main1
未使用,它接受 int
输入。
如果你想要重载方法,一个用于int
,一个用于float
,你应该有一个单一的main
方法来调用重载方法(我们称它为 sum)。
public static int sum (int x, int y)
{
return x+y;
}
public static float sum (float x, float y)
{
return x+y;
}
但是,将调用的方法取决于您传递给它的参数。因此,如果您使用 nextFloat
获取输入,则将始终调用 sum (float x,float y)
方法,即使用户输入的是整数。
public static void main(String args[])
{
float x, y, z;
System.out.println("Enter two integers to calculate their sum ");
Scanner in = new Scanner(System.in);
x = in.nextFloat();
y = in.nextFloat();
z = sum (x,y); // this will always call sum (float x, float y)
System.out.println("Sum of entered integers = "+z);
}
关于algorithm - Java 编程方法重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28601465/