我正在尝试编写一个获取a的方法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;
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
3
3.0
Run Code Online (Sandbox Code Playgroud)
所以,我想要的一切都发生在方法中convert1(),但不会发生在方法中convert2().看来这些方法必须做同样的工作.但我做错了什么?