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