对java栈的初步认识
生活随笔
收集整理的這篇文章主要介紹了
对java栈的初步认识
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
表達式(1+2)*3的后綴表達式形式是1 2 + 3 *,從左到右掃描表達式,將操作數入棧,遇到運算符就計算在棧頂的兩個操作數,運算結果入棧,最后輸出表達式的值。
運行結果:
源代碼:
package com.serein.d4a_stack;import java.util.Stack;public class Test {public static void main(String[] args) {String str = "12+3*";System.out.println(go(str));}private static int go(String str) {char[] arr = str.toCharArray();int num1;int num2;Stack<Integer> stack = new Stack<>();for (char c : arr) {if (c == '+') {num1 = stack.pop();num2 = stack.pop();stack.push(num1 + num2);} else if (c == '*') {num1 = stack.pop();num2 = stack.pop();stack.push(num1 * num2);} else {stack.push(c - 48);}}return stack.pop();} }如果您覺得有幫助,歡迎評論點贊轉發哦!你們的支持是我更新的最大動力!
總結
以上是生活随笔為你收集整理的对java栈的初步认识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【大白话学习】UniApp 微信小程序与
- 下一篇: Mac用户学Python-Day1:安装