由三元运算符生成的意外类型
2022-09-01 21:53:59
我正在尝试编写一个方法,该方法获取一个,验证数字后面是否有东西,如果它有 - 返回一个,如果没有 - 返回一个。double
double
int
public class Solution {
public static void main(String[] args) {
double d = 3.000000000;
System.out.println(convert1(d));
System.out.println(convert2(d));
}
static Object convert1(double d) {
if(d % 1 == 0)
return (int) d;
else
return d;
}
static Object convert2(double d) {
return ((d%1) == 0) ? ((int) (d)) : d;
}
}
输出:
3
3.0
所以,我想要的一切都发生在方法中,但不发生在方法中。似乎这些方法必须执行相同的工作。但是我做错了什么呢?convert1()
convert2()