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

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

 更新時間:2017年10月17日 16:17:07   作者:Willard1314  
本文主要對Java算法逆波蘭表達式的相關(guān)內(nèi)容作了介紹,涉及逆波蘭表達式的定義已經(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ù)字,進行計算,并推回結(jié)果。
 *
 */
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);
  }

總結(jié)

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

相關(guān)文章

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

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

    Java注解(Annotations)是Java5引入的一種元數(shù)據(jù)(Metadata),它提供了一種在源代碼中嵌入補充信息的方式,這些信息可以被編譯器、JVM或其他工具在編譯時、運行時進行處理,注解本身不會直接影響程序的執(zhí)行,但可以用來指導(dǎo)編譯器、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語句,下面這篇文章主要給大家介紹了關(guān)于Mybatis動態(tài)sql的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • java面試題解LeetCode27二叉樹的鏡像實例

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

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

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

    優(yōu)秀的文章也不少,但是Java完整版的好像不多,我把所有的寫一遍鞏固下,同時也真誠的希望閱讀到這篇文章的小伙伴們可以自己去從頭敲一遍,不要粘貼復(fù)制!希望我的文章對你有所幫助,每天進步一點點
    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四種訪問控制修飾符知識點總結(jié)

    Java四種訪問控制修飾符知識點總結(jié)

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

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

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

最新評論

郸城县| 莱州市| 张家港市| 胶州市| 望奎县| 靖江市| 茶陵县| 武山县| 黑龙江省| 云和县| 四川省| 广南县| 黔西县| 小金县| 彰化市| 麻阳| 循化| 分宜县| 衢州市| 金门县| 萝北县| 富川| 桂林市| 日照市| 邳州市| 沧源| 米泉市| 封开县| 宜君县| 贞丰县| 牡丹江市| 延边| 远安县| 鸡东县| 铜鼓县| 潼关县| 长宁区| 虞城县| 北碚区| 偏关县| 东至县|