这是我的Java程序代码。我为数据类型add
和int
重复了float
函数,但调用add(2.3, 2.4)
引发了错误,而不是调用add(float, float)
。
public class Main {
public static void main(String[] args) {
// This calls add(int, int) as expected
System.out.println(add(2,4));
// This call throws an error
System.out.println(add(2.3,3.4));
}
public static int add(int a, int b){
return (a + b);
}
public static float add(float a, float b){
return (a + b);
}
}
答案 0 :(得分:1)
您正确定义了重载方法!
你错了的是你调用方法的方式。您正在呼叫add(2.3,3.4)
。 2.3
和3.4
都是double
。这就是为什么他们无法直接进入接受花车的方法。
"什么?为什么他们会翻倍?"你可能会问。
默认情况下,没有.
或e
的所有数字文字都被视为int
。所有包含.
或e
之一或两者的数字文字都被视为double
。
要创建浮动文字,请在数字末尾添加f
。即这些都是花车:
1f
1000f
1.1f
-9f
1e99f
所以你应该像这样调用你的方法
add(2.3f,3.4f)
答案 1 :(得分:0)
add
和int
有float
个方法,而文字2.3
的类型为double
。有两种方法可以解决这个问题:
使用float
文字,即2.3f
和3.4f
(注意f
后缀。)
为add
s。
double
方法
醇>