不应用Java中运算符的优先级

noo*_*mer 1 java operators operator-precedence

我有这段代码,根据这个页面在这里 下面的输出应该是正确的给我,98.24但是这给了我68.8,我在这里缺少什么?

public class Qn1 
{
    public static void main(String[] args)
    {
       double cel = 36.8;
       double fah = ((9 / 5 )* cel) + 32;
       System.out.println(cel + "deg C =" + fah +" deg F");
    }
}
Run Code Online (Sandbox Code Playgroud)

Roh*_*ain 10

使用9.0 / 5而不是9 / 5括号.

9 / 5是整数除法,其值为1.结果就是如此.你只需要使分子分母之一成为double/float值来强制执行浮点除法.

((9 / 5 ) * cel) + 32  = (1 * 36.8) + 32 = 68.8
Run Code Online (Sandbox Code Playgroud)

你需要的是: -

((9.0 / 5 ) * cel) + 32  = (1.8 * 36.8) + 32 = 66.24 + 32 = 98.24
Run Code Online (Sandbox Code Playgroud)