繁体
080
078
064
057
StringregexCheck=“[\\(\\)\\d\\ \\-\\*/\\.]*“;//是否是合法的表达式
085
temp=matcher.group();
Matchermatcher=null;
intindex=-1;
073
if(!Pattern.matches(regexCheck,string))
094
061
}
NumberFormatnumberFormat=NumberFormat.getInstance();
055
Patternpattern=Patternpile(regex);
089
095
returns;
067
059
083
Stringregex=“\\([\\d\\.\\ \\-\\*/] \\)“;//提取括号表达式
077
}
string=computeStirngNoBracket(string);
054
065
computeStirngNoBracket(temp)
while(matcher.find()){
}
returne.getMessage();(未完待续。)
*@return
}catch(NumberFormatExceptione){
097
s=decimalFormat.format(obj);
}
string=string.replaceAll(“\\s“,““);//去除空格
returnstring;
079
082
092
}catch(Exceptione){
}else{
}
087
}else{
}
try{
*/
matcher=pattern.matcher(string);
090
093
Stringtemp=““;
091
068
//循环计算所有括号里的表达式
string.substring(index temp.length());
060
while(pattern.matcher(string).find()){
/**
052
070
s=numberFormat.format(obj);
084
072
*计算字符串四则运算表达式
at(obj);
066
string=string.substring(0,index)
053
069
071
index=string.indexOf(temp);
086
056
096
076
062
DecimalFormatdecimalFormat=newDecimalFormat(format);
088
publicstaticStringcomputeString(Stringstring){
075
//最后计算总的表达式结果
*@paramstring
058
074
063
081