最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java編程實現(xiàn)逆波蘭表達式代碼示例

 更新時間:2017年10月17日 16:17:07   作者:Willard1314  
本文主要對Java算法逆波蘭表達式的相關內容作了介紹,涉及逆波蘭表達式的定義已經(jīng)在Java中的實現(xiàn),具有一定參考價值,需要的朋友可以了解下。

逆波蘭表達式

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

逆波蘭表達式:

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實現(xiàn)逆波蘭表達式

/**
 * 計算算數(shù)表達式的值
 * For example:
 * ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9
 * ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6
 * @author zl
 * 思路:
 * 這個問題可以通過使用堆棧來解決。
 * (1)我們可以循環(huán)遍歷給定數(shù)組中的每個元素。
 * (2)當它是一個數(shù)字,把它推到堆棧。
 * (3) 當它是一個操作符時,從堆棧中彈出兩個數(shù)字,進行計算,并推回結果。
 *
 */
public class EvaluateValueOfArithmeticExpression {
  private static void evoe(String[] strArr){
    String str = "+-*/";
    Stack<String> stack = new Stack<String>();
    //2.0遍歷數(shù)組中的每一個元素
    for(String s : strArr){
      if(!str.contains(s)){//如果是數(shù)字,放入棧中
        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創(chuàng)建數(shù)組
    String [] strArr = { "0", "2", "-", "3", "+" };
    evoe(strArr);
  }

總結

以上就是本文關于Java編程實現(xiàn)逆波蘭表達式代碼示例的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java 蒙特卡洛算法求圓周率近似值實例詳解Spark實現(xiàn)K-Means算法代碼示例等,如有不足之處,歡迎留言指出,小編會及時回復大家并修改,努力給廣大編程愛好者提供更優(yōu)質的文章和更好的閱讀體驗。感謝朋友們對本站的支持!

相關文章

  • Java注解(Annotations)的定義和使用詳解

    Java注解(Annotations)的定義和使用詳解

    Java注解(Annotations)是Java5引入的一種元數(shù)據(jù)(Metadata),它提供了一種在源代碼中嵌入補充信息的方式,這些信息可以被編譯器、JVM或其他工具在編譯時、運行時進行處理,注解本身不會直接影響程序的執(zhí)行,但可以用來指導編譯器、JVM或其他工具的行為,從而實現(xiàn)各種功能
    2025-03-03
  • IDEA中如何使用注解Test

    IDEA中如何使用注解Test

    這篇文章主要介紹了IDEA中如何使用注解Test問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 基于maven的三種packaging方式

    基于maven的三種packaging方式

    這篇文章主要介紹了maven的三種packaging方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Mybatis動態(tài)sql超詳細講解

    Mybatis動態(tài)sql超詳細講解

    動態(tài)SQL是MyBatis的強大特性之一,顧名思義就是會動的SQL,即是能夠靈活的根據(jù)某種條件拼接出完整的SQL語句,下面這篇文章主要給大家介紹了關于Mybatis動態(tài)sql的相關資料,需要的朋友可以參考下
    2023-04-04
  • java面試題解LeetCode27二叉樹的鏡像實例

    java面試題解LeetCode27二叉樹的鏡像實例

    這篇文章主要為大家介紹了java面試題解LeetCode27二叉樹的鏡像實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • java版十大排序經(jīng)典算法:完整代碼

    java版十大排序經(jīng)典算法:完整代碼

    優(yōu)秀的文章也不少,但是Java完整版的好像不多,我把所有的寫一遍鞏固下,同時也真誠的希望閱讀到這篇文章的小伙伴們可以自己去從頭敲一遍,不要粘貼復制!希望我的文章對你有所幫助,每天進步一點點
    2021-07-07
  • 聊聊Spring循環(huán)依賴三級緩存是否可以減少為二級緩存的情況

    聊聊Spring循環(huán)依賴三級緩存是否可以減少為二級緩存的情況

    這篇文章主要介紹了聊聊Spring循環(huán)依賴三級緩存是否可以減少為二級緩存的情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 如何解決Spring的UnsatisfiedDependencyException異常問題

    如何解決Spring的UnsatisfiedDependencyException異常問題

    這篇文章主要介紹了如何解決Spring的UnsatisfiedDependencyException異常問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java四種訪問控制修飾符知識點總結

    Java四種訪問控制修飾符知識點總結

    本篇文章給大家詳細分析了Java四種訪問控制修飾符的相關知識點,有興趣的朋友可以參考學習下。
    2018-03-03
  • Java遞歸如何正確輸出樹形菜單

    Java遞歸如何正確輸出樹形菜單

    這篇文章主要為大家詳細介紹了Java遞歸如何正確輸出樹形菜單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02

最新評論

吉隆县| 黔南| 增城市| 北川| 汉阴县| 新沂市| 全椒县| 天镇县| 和平区| 米林县| 布拖县| 涟水县| 唐海县| 会泽县| 漯河市| 邛崃市| 金坛市| 察雅县| 高青县| 乌兰察布市| 句容市| 乌苏市| 阆中市| 秭归县| 临沂市| 昌乐县| 昆明市| 西城区| 濮阳市| 中阳县| 瑞金市| 志丹县| 屏山县| 怀仁县| 莱阳市| 古蔺县| 沙河市| 屯昌县| 蛟河市| 肥乡县| 丽水市|