116、罵戰-《我的1979》
第(3/3)頁
*計算字符串四則運算表達式
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=Pattern.compile(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();(未完待續。)
第(3/3)頁
主站蜘蛛池模板:
句容市|
醴陵市|
灯塔市|
新邵县|
枞阳县|
宕昌县|
潼南县|
邳州市|
陈巴尔虎旗|
海宁市|
枣强县|
长宁县|
海安县|
醴陵市|
当雄县|
兴山县|
稷山县|
汶川县|
玛多县|
交城县|
建昌县|
神农架林区|
和静县|
南昌市|
麻城市|
益阳市|
聂荣县|
靖边县|
建阳市|
武汉市|
腾冲县|
嵩明县|
湄潭县|
景泰县|
青河县|
马尔康县|
宜宾县|
新郑市|
扬中市|
大石桥市|
祁连县|