Java为什么这会给我;0";?
这是我正在使用的代码的一部分,我们只应该从修复一些逻辑错误开始,因为错误的答案。我还发现了一些语法错误,这让编译器无法完成…我一直得到fToC的“0”Java为什么这会给我;0";?,java,class,math,printing,output,Java,Class,Math,Printing,Output,这是我正在使用的代码的一部分,我们只应该从修复一些逻辑错误开始,因为错误的答案。我还发现了一些语法错误,这让编译器无法完成…我一直得到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. fT
//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)
因整数除法而为0。试试(5.0/9)
全文应为:
fToC = (5.0/9) * (BOILING_IN_F - 32);
(5/9)
因整数除法而为0。试试(5.0/9)
全文应为:
fToC = (5.0/9) * (BOILING_IN_F - 32);
您正在使用
5/9
执行Java的整数除法,这必须导致另一个整数--0
,因此结果是0
。使用double
文本强制浮点运算
fToC = (5.0/9.0) * (BOILING_IN_F - 32);
您需要
fToC
成为double
(并将键入的string output
更改为string output
)。您正在使用5/9
执行Java的整数除法,这必须导致另一个整数--0
,因此结果是0
。使用double
文本强制浮点运算
fToC = (5.0/9.0) * (BOILING_IN_F - 32);
您需要将fToC
变为双精度(并将键入的字符串输出更改为字符串输出)。(5/9)
您将对两个整数进行下潜,因此这是截断的,因此它等于0。你把这个0乘以另一个数字
改为使用(5.0f/9.0f)
来精确表示您的数字实际上是十进制数。(5/9)
您正在对两个整数进行下潜,因此它被截断,因此等于0。你把这个0乘以另一个数字
使用(5.0f/9.0f)
来精确说明您的数字实际上是十进制数字。将int-fToC改为double-fToC不是更好吗?@AngeloAlvisi Correct;更新。将int fToC更改为双fToC不是更好吗?@AngeloAlvisi正确;更新了,谢谢,我想是这样的。我上学期试图修改公式时,把学过的一些Python弄混了。我感谢你的帮助,我对自己没有看到这一点感到很难过。但生活还在继续。我也意识到我需要将fToC声明为双重身份。在阅读了我的文章之后,我注意到Java不允许将double赋值给int,因为可能会丢失数据。我上学期试图修改公式时,把学过的一些Python弄混了。我感谢你的帮助,我对自己没有看到这一点感到很难过。但生活还在继续。我也意识到我需要将fToC声明为双重身份。在阅读了一些本文之后,我注意到Java不允许将可能是double的内容分配给int,因为可能会丢失数据。