Я пытаюсь написать метод, который получает double, проверяет, имеет ли номер что-то после точки, а если он возвращает - возвращает double, если doesn't-возвращает 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(). Кажется, что эти методы должны выполнять ту же работу. Но что я сделал не так?