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

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

反向波蘭符號計算:兩個正數的減法返回一個減號?

反向波蘭符號計算:兩個正數的減法返回一個減號?

千巷貓影 2022-09-01 19:34:22
在我的反向波蘭符號計算器上執行兩個數字的減法時,我得到一個負數結果,例如:20 5 - = -15然而,我希望看到15。任何人都可以看到我的代碼出錯的地方嗎?   else if (input.equals("-")) {            int n1 = stack.pop();            int n2 = stack.pop();            int result = n1 - n2;            stack.push((int)result);        }
查看完整描述

2 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

堆棧的原理是LIFO(最后一個進先出)。


因此,當您第一次推送然后推送到堆棧中時,第一個將返回,第二個將返回。因此,您計算而不是 .205pop5pop205 - 2020 - 5


您應該反轉操作數的順序以進行正確的計算:


else if (input.equals("-")) {

    int n1 = stack.pop();

    int n2 = stack.pop();

    int result = n2 - n1;

    stack.push((int)result);

}


查看完整回答
反對 回復 2022-09-01
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

你彈出,然后.也就是說,您需要反轉減法的順序:520

int result = n2 - n1;


查看完整回答
反對 回復 2022-09-01
  • 2 回答
  • 0 關注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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