亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

代碼沒有輸出期望值;如何修改它以獲得預期的結果?

代碼沒有輸出期望值;如何修改它以獲得預期的結果?

犯罪嫌疑人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 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號