中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

逆波蘭表達式如何在Java項目中實現

發布時間:2020-12-08 17:13:54 來源:億速云 閱讀:167 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關逆波蘭表達式如何在Java項目中實現,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

逆波蘭表達式

定義:傳統的四則運算被稱作是中綴表達式,即運算符實在兩個運算對象之間的。逆波蘭表達式被稱作是后綴表達式,表達式實在運算對象的后面。

逆波蘭表達式:

a+b ---> a,b,+
a+(b-c) ---> a,b,c,-,+
a+(b-c)*d ---> a,b,c,-,d,*,+
a+d*(b-c)--->a,d,b,c,-,*,+
a=1+3 ---> a=1,3 +

http=(smtp+http+telnet)/1024 寫成什么呢?
http=smtp,http,+,telnet,+,1024,/

用Java實現逆波蘭表達式

/**
 * 計算算數表達式的值
 * For example:
 * ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9
 * ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6
 * @author zl
 * 思路:
 * 這個問題可以通過使用堆棧來解決。
 * (1)我們可以循環遍歷給定數組中的每個元素。
 * (2)當它是一個數字,把它推到堆棧。
 * (3) 當它是一個操作符時,從堆棧中彈出兩個數字,進行計算,并推回結果。
 *
 */
public class EvaluateValueOfArithmeticExpression {
  private static void evoe(String[] strArr){
    String str = "+-*/";
    Stack<String> stack = new Stack<String>();
    //2.0遍歷數組中的每一個元素
    for(String s : strArr){
      if(!str.contains(s)){//如果是數字,放入棧中
        stack.push(s);
      }else{
        int a = Integer.valueOf(stack.pop());
        int b = Integer.valueOf(stack.pop());
        switch(s){
        case "+" :
          stack.push(String.valueOf(a+b));
          break;
        case "-" :
          stack.push(String.valueOf(b-a));
          break ;
        case "*" :
          stack.push(String.valueOf(a*b));
          break;
        case "/" :
          stack.push(String.valueOf(b/a));
          break ;
        }
      }
    }
    System.out.println(stack.pop());
  }
  public static void main(String[] args) {
    //1.0創建數組
    String [] strArr = { "0", "2", "-", "3", "+" };
    evoe(strArr);
  }

以上就是逆波蘭表達式如何在Java項目中實現,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙川县| 都匀市| 西华县| 长丰县| 临安市| 南皮县| 和平县| 朝阳区| 长葛市| 健康| 太湖县| 商南县| 进贤县| 屯门区| 乐清市| 德兴市| 雅江县| 罗江县| 曲水县| 雅安市| 正安县| 黄梅县| 禹州市| 乌拉特前旗| 海林市| 正镶白旗| 嫩江县| 瓦房店市| 盐城市| 于田县| 成都市| 偏关县| 洪雅县| 南通市| 电白县| 汤原县| 安康市| 东港市| 思南县| 镇安县| 元江|