一.由于以往对输入的数据合法性的判断过长和繁琐
解决方法:采用正则表达式 使用http://tool.oschina.net/regex/ 学习和练习正则
//获取输入并且验证
boolean getInputAndVerify(String strInput){
if (strInput.trim().equals("exit")||strInput.trim().equals("oldFormula")) {
return true;
} else {
strInput=strInput.replace(" ","");
String regEx="^[+-]?[0-9]+(/[1-9][0-9]*)?$";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(strInput);
// 字符串是否与正则表达式相匹配
boolean rs = matcher.matches();
return rs;
}
}
二.对于如何将中缀表达式转换成后缀 和后缀表达式的计算 一无所知
解决方法:http://blog.csdn.net/sgbfblog/article/details/8001651
三.对栈一无所知
解决方法:http://blog.csdn.net/u013238950/article/details/46314769