【发布时间】:2020-03-02 14:20:10
【问题描述】:
我正在编写一个程序,它接受一个数字并在数字是整数时删除尾随的零。 我正在使用三元运算符,但它没有按预期工作。但如果我把它写成 if else 语句,它就可以工作。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double number = scanner.nextDouble();
System.out.println(((int)number == (double)number) ? (int)number : number); // Always outputs a double
if ((int)number == (double)number) { // Outputs correct result
System.out.println((int)number);
}
else {
System.out.println(number);
}
}
}
例如,如果我输入 5 我得到
5.0
5
如果我输入 7.3 我得到
7.3
7.3
所以它似乎适用于 if else 语句,但不适用于三元运算符。
【问题讨论】:
标签: java if-statement conditional-operator