代码没有输出期望值;如何修改它以获得预期的结果?

在下面的 java 代码中,预期值为 78 但它返回值 59。我需要做哪些修改才能获得预期结果?


public class SampleOne {    

    public static void main(String[] args) {    


        int ans=42+45-48-5-15+20*2;


        System.out.println(" Ans="+ans);    

    }

}


犯罪嫌疑人X
浏览 103回答 3
3回答

侃侃无极

对复杂的操作使用大括号。另外,您应该记住 BODMAS 规则:除法加法减法的括号int ans=(42+45-48-5-15+20)*2;

四季花海

您需要考虑运算符优先级。乘法运算符 ( ) 在加法运算符 ( ) 和减法运算符 ( )*之前执行,产生结果 59。+-似乎您打算按照它们出现的顺序执行运算符以获得 78 的结果。您不能更改 Java 的运算符优先级,但您可以强制它在乘以 2 之前执行加法/减法序列通过用括号括起该计算:int ans = (42+45-48-5-15+20)*2;  // Here---^----------------^

倚天杖

59 正在接收,因为机器遵循以下优先顺序除法 -> 乘法 -> 加法 -> 减法查看有关运算符优先级的 Java 文档为了获得预期的结果,您需要使用括号开括号 - (和闭括号 -)将你的表达转换成ans=(42+45-48-5-15+20)*2;以获得您预期的结果。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java