码迷,mamicode.com
首页 > 其他好文 > 详细

处理字符集中的算式问题

时间:2016-10-23 17:18:19      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:name   system   new   com   out   static   test   for   code   

最近遇到一个编程题.题目是这样的:
  接收一个字符型的算式,如"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 }

 

处理字符集中的算式问题

标签:name   system   new   com   out   static   test   for   code   

原文地址:http://www.cnblogs.com/MyOceansWeb/p/5989948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!