
1 public class SuanLianxi
2 {
3 public static void main(String[] args)
4 {
5 //储存数值 6 double[] shuzhi = new double[]{0,12,11,13,1,5,9};//任意取值验证这个优先级算法
7 //储存运算符 8 String[] operation = new String[]{" ","+","-","*","/"};
9 //储存运算符号对应的下标 10 int[] fuhao = new int[]{0,1,4,3,2,3};//解释:"+"->"1","-"->"2","*"->"3","/"->"4"
11 //12+11/13*1-5*9 12 double left=0;
13 double right = shuzhi[1];
14 int sign = 1;
15 for(int i=1;i<=5;i++)
16 {
17 switch(operation[fuhao[i]])
18 {
19 case "+":
20 left = left+sign*right;
21 sign=1;
22 right=shuzhi[i+1];
23 break;
24 case "-":
25 left = left+sign*right;
26 sign=-1;
27 right=shuzhi[i+1];
28 break;
29 case "*":
30 right=right*shuzhi[i+1];
31 break;
32 case "/":
33 right=right/shuzhi[i+1];
34 break;
35 }
36 }
37 System.out.println(left+sign*right);//输出结果 38 }
39 }
