⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculate.java

📁 此计算器是我们期末的实习作业
💻 JAVA
字号:
class Calculate{ 
StackProcess.Union[] spu;
StackProcess sp1=new StackProcess();
StackProcess sp2=new StackProcess();


Calculate(StackProcess.Union[] spu)
  { this.spu=spu;}

double process()
{ 
  
 for(int i=0;;i++)
  { if(spu[i]==null)break;
    if(spu[i].type==0){sp1.push(spu[i]);System.out.println("((((("+spu[i].valuekkk);}
    else{ double a,b;
          
    StackProcess.Union spu1=new StackProcess.Union();spu1.type=0; 

    System.out.println("$$$$$$$$"+spu[i].value);

switch(spu[i].value)
{ 
case '+': a=sp1.pop().valuekkk;b=sp1.pop().valuekkk;spu1.valuekkk=(b+a);break;
case '-': a=sp1.pop().valuekkk;b=sp1.pop().valuekkk;spu1.valuekkk=(b-a);break;
case '*': a=sp1.pop().valuekkk;b=sp1.pop().valuekkk;spu1.valuekkk=(b*a);break;
case '/': a=sp1.pop().valuekkk;b=sp1.pop().valuekkk;spu1.valuekkk=(b/a);break;
case '^': a=sp1.pop().valuekkk;b=sp1.pop().valuekkk;spu1.valuekkk=google1(b,a);System.out.println("rrr"+spu1.valuekkk);break;
case '\1':a=sp1.pop().valuekkk;spu1.valuekkk=Math.asin(a);break;
case '\2':a=sp1.pop().valuekkk;spu1.valuekkk=Math.sin(a);break;
case '\3':a=sp1.pop().valuekkk;spu1.valuekkk=Math.tan(a);break;
case '\4':a=sp1.pop().valuekkk;spu1.valuekkk=Math.tanh(a);break;
case '\5':a=sp1.pop().valuekkk;spu1.valuekkk=Math.sqrt(a);break;
case '\6':a=sp1.pop().valuekkk;spu1.valuekkk=Math.log10(a);break;
case '\7':a=sp1.pop().valuekkk;spu1.valuekkk=Math.log(a);break;
case '%': a=sp1.pop().valuekkk;b=sp1.pop().valuekkk;int q=(int)b,u=(int)a;spu1.valuekkk=(q%u);System.out.println("yyyyyy"+spu1.valuekkk);break;
case '!':a=sp1.pop().valuekkk;spu1.valuekkk=google(a); System.out.println("rrr"+a);break;
case '\u0008':a=sp1.pop().valuekkk;spu1.valuekkk=-1*a;
}
System.out.println("****"+spu1.valuekkk);
sp1.push(spu1);
 }
  }


return sp1.pop().valuekkk;
}



double google1(double b,double a)
{ int i=(int)b; int j=(int)a;
  double sum=b;

if(a==0) return 1;
if(a<0) a=-a;

for(int m=1;m<a;m++)
 { sum=sum*b;}
if(-a>0)return 1/sum;
 else return sum;
}
 
/* double google1(double b,double a)
{ int i=(int)b; int j=(int)a;
  int sum=i;
for(int m=1;m<j;m++)
 { sum=sum*i;}
return sum;}*/




double google(double d)
 { double i=1,j=1;
  int k=(int)d;
   
  while(j<d)
  { i=i*(j+1);j++;}
return i;
}


public static void main(String[] args)
{ InitPush ip=new InitPush("33+(!5+5)+5%3");
  ip.process(); 
  Calculate cc=new Calculate(ip.ak);
     double f=cc.google1(5,3);

  double d=cc.process();
 System.out.println("iiiiiiiikk"+f);
}

}






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -