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