为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

犯罪嫌疑人X 2023-03-17 16:13:27
在下面的 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);        }}
查看完整描述

3 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

对复杂的操作使用大括号。

另外,您应该记住 BODMAS 规则:除法加法减法的括号

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


查看完整回答
反对 回复 2023-03-17
?
四季花海

TA贡献1811条经验 获得超5个赞

您需要考虑运算符优先级。乘法运算符 ( ) 在加法运算符 ( ) 和减法运算符 ( )*之前执行,产生结果 59。+-

似乎您打算按照它们出现的顺序执行运算符以获得 78 的结果。您不能更改 Java 的运算符优先级,但您可以强制它在乘以 2 之前执行加法/减法序列通过用括号括起该计算:

int ans = (42+45-48-5-15+20)*2; 
// Here---^----------------^


查看完整回答
反对 回复 2023-03-17
?
倚天杖

TA贡献1828条经验 获得超3个赞

59 正在接收,因为机器遵循以下优先顺序

除法 -> 乘法 -> 加法 -> 减法

查看有关运算符优先级的 Java 文档

为了获得预期的结果,您需要使用括号

开括号 - (
和闭括号 -)

将你的表达转换成ans=(42+45-48-5-15+20)*2;

以获得您预期的结果。


查看完整回答
反对 回复 2023-03-17
  • 3 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信