This question already has answers here:
Why does the division of two integers return 0.0 in Java? [duplicate]
(6个答案)
4年前关闭。
因此,这是我正在使用的代码的一部分,我们只能从纠正错误答案引起的一些逻辑错误开始。我还发现了一些语法错误,这些错误不会让编译器完成...我不断为fToC设置“ 0” ...
答案很有用,除了在编译和运行程序之前需要将fToC声明为double之外。谢谢。
您需要将
(6个答案)
4年前关闭。
因此,这是我正在使用的代码的一部分,我们只能从纠正错误答案引起的一些逻辑错误开始。我还发现了一些语法错误,这些错误不会让编译器完成...我不断为fToC设置“ 0” ...
//declaration statements
final int BOILING_IN_F = 212;
int fToC;
string output;
//there is other code between that has nothing
//to do with outputting the boiling point.
fToC = (5/9) * (BOILING_IN_F - 32);
output = BOILING_IN_F + " in Fahrenheit is " + fToC
+ " in Celsius.";
System.out.println(output); //this is outputting 0 for fToC
System.out.println();
答案很有用,除了在编译和运行程序之前需要将fToC声明为double之外。谢谢。
最佳答案
您正在用5/9
执行Java的整数除法,这必须导致另一个整数-0
,因此结果为0
。使用double
文字强制执行浮点数学运算。
fToC = (5.0/9.0) * (BOILING_IN_F - 32);
您需要将
fToC
设置为double
(并将拼写错误string output
更改为String output
)。09-17 02:25