Java計算器(使用逆波蘭表示式演算法)
- package com.infogrid.g2b;
- import java.util.HashMap;
- import java.util.Map;
- public class Op {
- private static final Map
ops = new HashMap(); - static{
- ops.put("+",10);
- ops.put("-",10);
- ops.put("*",20);
- ops.put("/",20);
- ops.put("%",20);
- ops.put("(",100);
- ops.put(")",100);
- }
- public static boolean isSign(String sign1){
- Integer s = ops.get(sign1);
- if(s==null)
- return false;
- else
- return true;
- }
- public static int compare(String sign1,String sign2){
- Integer p1 = ops.get(sign1);
- Integer p2 = ops.get(sign2);
- if(p1==null)
- throw new IllegalArgumentException("符號:"+sign1+"不存在!");
- if(p2==null)
- throw new IllegalArgumentException("符號:"+sign2+"不存在!");
- return p1-p2;
- }
- public static Object cal(Object x,Object y,String sign){
- Double a=0.0,b=0.0;
- a = Double.valueOf(x+"");
- b = Double.valueOf(y+"");
- if(sign.equals("+"))
- return a+b;
- if(sign.equals("-"))
- return a-b;
- if(sign.equals("*"))
- return a*b;
- if(sign.equals("/"))
- return a/b;
- if(sign.equals("%"))
- return a%b;
- throw new IllegalArgumentException("操作符不合法!");
- }
- }
- package com.infogrid.g2b;
- import java.util.ArrayList;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23071790/viewspace-716661/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#資料結構與演算法系列(十):逆波蘭計算器——逆波蘭表示式(字尾表示式)C#資料結構演算法
- 逆波蘭計算器
- leetcode 224. 基本計算器(逆波蘭表示式)LeetCode
- 逆波蘭演算法、中綴表示式轉字尾表示式演算法
- 中綴表示式轉為逆波蘭表示式
- 逆波蘭計算器分析和實現
- (詳細圖解) 逆波蘭表示式圖解
- 4、逆波蘭表示式求值——棧(java資料結構)Java資料結構
- 我就給一個PHP逆波蘭表示式的演算法吧---工資計算專用PHP演算法
- 逆波蘭表示式求值 golang VS pythonGolangPython
- 力扣-150. 逆波蘭表示式求值力扣
- LeetCode-150- 逆波蘭表示式求值LeetCode
- Leetcode——150. 逆波蘭表示式求值LeetCode
- 前端菜鳥的每週一道演算法題(一) - 逆波蘭表示式求值前端演算法
- LeetCode 之 JavaScript 解答第150題 —— 逆波蘭表示式求值(Evaluate Reverse Polish Notation)LeetCodeJavaScript
- 表示式編譯計算器(下) (轉)編譯
- 表示式計算原始碼JAVA實現 (轉)原始碼Java
- 【計算機演算法】 求字首表示式的值計算機演算法
- 使用棧結構計算中綴表示式
- 計算中綴表示式
- 計算 CRC32 的逆函式函式
- 【資料結構與演算法】中綴表示式轉字尾表示式以及字尾表示式的計算資料結構演算法
- 表示式計算 用棧完成
- 使用棧實現表示式求值,運用棧計算
- Java lambda表示式基本使用Java
- 將算數表示式轉換成字尾表示式並計算結果
- 在Java中使用Lambda表示式統計詞頻Java
- 表示式計算(棧的應用)
- 演算法~簡單的計算器(驗證數學表示式是否合法~“狀態機思想”)演算法
- Java 計算器Java
- Java中Lambda表示式的使用Java
- Java中正規表示式的使用Java
- python--表示式(運算表示式)Python
- 一個數學表示式的計算
- PG 中表示式的計算順序
- 在CSS中使用javascript運算表示式CSSJavaScript
- 程式碼隨想錄演算法訓練營第23天(補第11天)|150. 逆波蘭表示式求值,239. 滑動視窗最大值演算法
- java_web:EL表示式的使用JavaWeb