public static String getString() throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return s;
}
public static void main(String[] args) throws IOException {
String str_input;
double f_output;
while (true) {
System.out.print("输入表达式: ");
System.out.flush();
str_input = getString();
if (str_input.equals("")) {
break;
}
Calculator calculator = new Calculator();
//以下对输入字符串做规则处理
str_input = calculator.checkExpression(str_input);
if (str_input.equals("")) {
System.out.println(" 表达式出错 ");
}
//以下对输入字符串做表达式转换
Vector<String> v_compute = calculator.getExpression(str_input);
//以下进行后缀表达式转换
Vector<String> v_tmp_prefix = calculator.transformPrefix(v_compute);
//以下进行后缀表达式运算
f_output = calculator.evaluatePrefix(v_tmp_prefix);
System.out.println("结果 = " + f_output);
}