public class test1 {public static void methodA(int n,double a[],char c[]) { int i,j; if(n==0) //運算個數為0,進行階乘 { for(i=(int) a[0];i>1;i--) { System.out.println(i); System.out.println(a[0]); a[0]=a[0]*(i-1); } } /*對算式進行解析並且進行四則運算*/ else{ for(i=0;i<=n;i++) { if(c[i]=='*') { a[i]=a[i]*a[i+1]; for(j=i;j<n;j++) { a[j+1]=a[j+2]; c[j]=c[j+1]; } i=0; n--; } if(c[i]=='/') { a[i]=a[i]/a[i+1]; for(j=i;j<n;j++) { a[j+1]=a[j+2]; c[j]=c[j+1]; } i=0; n--; } } for(i=0;i<=n;i++) { if(c[i]=='+') { a[i]=a[i]+a[i+1]; for(j=i;j<n;j++) { a[j+1]=a[j+2]; c[j]=c[j+1]; } i=0; n--; } if(c[i]=='-') { a[i]=a[i]-a[i+1]; for(j=i;j<n;j++) { a[j+1]=a[j+2]; c[j]=c[j+1]; } i=0; n--; } } } } }
public class test { public static void main(String[] args) { int n=2; double []a=new double [10]; a[0]=1; a[1]=2; a[2]=7;char []c=new char [10]; c[0]='+';c[1]='*'; test1 core = new test1(); core.methodA(n, a, c); System.out.println(a[0]); } }
主函式