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