计算一个字符串表示的四则运算表达式

   题目大意:有字符串表示的一个四则运算表达式,要求计算出该表达式的正确数值。四则运算即:加减乘除"+-*/",另外该表达式中的数字只能是1位(数值范围0~9)。另若有不能整除的情况,按向下取整处理,eg: 8/3得出值为2

  例如若有字符串"8+7*2-9/3",计算出其值为19

    代码如下

 

package com.interview;

public class Test {

	public static void main(String[] args) {
		
		String s="8+7*2-9/3";
		
		String s2="12+13-9/3+12*17-40/4+45";
		
	    System.out.println(s+"="+compute(s));
		
	    System.out.println(s2+"="+comput2(s2));
		
		
	}
	//计算字符串表示的四则运算表达式 ,数字只能是1位的
	//扫描两遍完成,第一遍可以计算出乘除,第二遍计算加减
	public static int compute(String s){
		
		char[] origin=s.toCharArray();
		
		String[] tmp=new String[origin.length];
		int count=0;
		
		for(int i=0;i

        运行结果:

8+7*2-9/3=19
12+13-9/3+12*17-40/4+45=261

 

 

你可能感兴趣的:(有意思的程序练习题)