处理字符集中的算式问题
生活随笔
收集整理的這篇文章主要介紹了
处理字符集中的算式问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近遇到一個編程題.題目是這樣的:
接收一個字符型的算式,如"1+2*3+4",按順序,每遇到一個數字,則進行運算至該數字的結果.比如傳入的是"1+2*3+4",那么結果是1,3,7,11.
有的地方表達可能不一樣,我的理解記下來的題目就是這樣.回來后寫了下,用java語言處理的.
1 package com.bhy.epay; 2 3 import javax.script.ScriptEngine; 4 import javax.script.ScriptEngineManager; 5 import javax.script.ScriptException; 6 7 public class testString { 8 static ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript"); 9 10 public static void main(String[] args) throws ScriptException { 11 String str = "1+2*3+4"; 12 char[] arr=str.trim().toCharArray(); 13 Object sum = 0; 14 if(str != null && !"".equals(str)){ 15 for(int i=0;i<str.length();i++){ 16 if(!Character.isDigit(arr[i])){ // 如果不是數字 17 String strAfter = str.substring(0, i); 18 sum = jse.eval(strAfter); 19 System.out.println(sum); 20 } 21 if(i == str.length()-1){ // 處理最后一位數字 22 System.out.println(jse.eval(str)); 23 } 24 } 25 } 26 } 27 28 }?
轉載于:https://www.cnblogs.com/MyOceansWeb/p/5989948.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的处理字符集中的算式问题的全部內容,希望文章能夠幫你解決所遇到的問題。