?? calculate.java
字號(hào):
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);
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -