//进行系列运算
public void deltwith(char c){
double currentnumber = Double.valueOf(result.getText()).doubleValue();
if(lastchar=='E')
numbers=currentnumber;
else if(lastchar=='+')
numbers+=currentnumber;
else if(lastchar=='-')
numbers-=currentnumber;
else if(lastchar=='*')
numbers*=currentnumber;
else if(lastchar=='÷'){
try{
numbers /=currentnumber;
}catch(ArithmeticException e){
result.setText("0.00");
}
}
else if(lastchar=='='&&equaledoperation)
numbers=currentnumber;
else if(lastchar=='p')
numbers=currentnumber*(-1);
else if(lastchar=='s')
try{
numbers=Math.sqrt(currentnumber);
}catch(Exception e){
result.setText("0.00");
}
lastchar=c;
if(lastchar=='t')
numbers=currentnumber*currentnumber;
else if(lastchar=='r')
numbers=currentnumber*currentnumber*currentnumber;
else if(lastchar=='S')
numbers=Math.sin(currentnumber);
else if(lastchar=='c')
numbers=Math.cos(currentnumber);
else if(lastchar=='a')
numbers=Math.tan(currentnumber);
else if(lastchar=='o')
numbers=1/Math.tan(currentnumber);
else if(lastchar=='d')
numbers=1/currentnumber;
else if(lastchar=='l')
numbers=Math.log10(currentnumber);
else if(lastchar=='e')
numbers=1/Math.cos(currentnumber);
else if(lastchar=='h')
numbers=1/Math.sin(currentnumber);
if(lastchar=='D')
numbers=Double.parseDouble(deletenumber());
result.setText(""+numbers);
}
//删除操作
public String deletenumber(){
string2="";
double currentnumber = Double.valueOf(result.getText()).doubleValue();
if(currentnumber>=10e13)
j=14;
else if(10e13>currentnumber&¤tnumber>=10e12)
j=13;
else if(currentnumber>=10e11&¤tnumber<10e12)
j=12;
else if(currentnumber>=10e10&¤tnumber<10e11)
j=11;
else if(currentnumber>=10e9&¤tnumber<10e10)
j=10;
else if(currentnumber>=100000000&¤tnumber<1000000000)
j=9;
else if(currentnumber>=10000000&¤tnumber<100000000)
j=8;
else if(currentnumber>=1000000&¤tnumber<10000000)
j=7;
else if(currentnumber>=100000&¤tnumber<1000000)
j=6;
else if(currentnumber>=10000&¤tnumber<100000)
j=5;
else if(currentnumber>=1000&¤tnumber<10000)
j=4;
else if(currentnumber>=100&¤tnumber<1000)
j=3;
else if(currentnumber>=10&¤tnumber<100)
j=2;
else if(currentnumber>=1&¤tnumber<10)
j=1;
int number[]=new int[j];
for(int i=0;i<j;++i){
number[i]=(int)currentnumber%10;
currentnumber=currentnumber/10;
}
for(int i=j-1;i>0;--i)
string2+=number[i];
return string2;
}
public static void main(String args[]){
Calculator calculator=new Calculator();
}
}
public void deltwith(char c){
double currentnumber = Double.valueOf(result.getText()).doubleValue();
if(lastchar=='E')
numbers=currentnumber;
else if(lastchar=='+')
numbers+=currentnumber;
else if(lastchar=='-')
numbers-=currentnumber;
else if(lastchar=='*')
numbers*=currentnumber;
else if(lastchar=='÷'){
try{
numbers /=currentnumber;
}catch(ArithmeticException e){
result.setText("0.00");
}
}
else if(lastchar=='='&&equaledoperation)
numbers=currentnumber;
else if(lastchar=='p')
numbers=currentnumber*(-1);
else if(lastchar=='s')
try{
numbers=Math.sqrt(currentnumber);
}catch(Exception e){
result.setText("0.00");
}
lastchar=c;
if(lastchar=='t')
numbers=currentnumber*currentnumber;
else if(lastchar=='r')
numbers=currentnumber*currentnumber*currentnumber;
else if(lastchar=='S')
numbers=Math.sin(currentnumber);
else if(lastchar=='c')
numbers=Math.cos(currentnumber);
else if(lastchar=='a')
numbers=Math.tan(currentnumber);
else if(lastchar=='o')
numbers=1/Math.tan(currentnumber);
else if(lastchar=='d')
numbers=1/currentnumber;
else if(lastchar=='l')
numbers=Math.log10(currentnumber);
else if(lastchar=='e')
numbers=1/Math.cos(currentnumber);
else if(lastchar=='h')
numbers=1/Math.sin(currentnumber);
if(lastchar=='D')
numbers=Double.parseDouble(deletenumber());
result.setText(""+numbers);
}
//删除操作
public String deletenumber(){
string2="";
double currentnumber = Double.valueOf(result.getText()).doubleValue();
if(currentnumber>=10e13)
j=14;
else if(10e13>currentnumber&¤tnumber>=10e12)
j=13;
else if(currentnumber>=10e11&¤tnumber<10e12)
j=12;
else if(currentnumber>=10e10&¤tnumber<10e11)
j=11;
else if(currentnumber>=10e9&¤tnumber<10e10)
j=10;
else if(currentnumber>=100000000&¤tnumber<1000000000)
j=9;
else if(currentnumber>=10000000&¤tnumber<100000000)
j=8;
else if(currentnumber>=1000000&¤tnumber<10000000)
j=7;
else if(currentnumber>=100000&¤tnumber<1000000)
j=6;
else if(currentnumber>=10000&¤tnumber<100000)
j=5;
else if(currentnumber>=1000&¤tnumber<10000)
j=4;
else if(currentnumber>=100&¤tnumber<1000)
j=3;
else if(currentnumber>=10&¤tnumber<100)
j=2;
else if(currentnumber>=1&¤tnumber<10)
j=1;
int number[]=new int[j];
for(int i=0;i<j;++i){
number[i]=(int)currentnumber%10;
currentnumber=currentnumber/10;
}
for(int i=j-1;i>0;--i)
string2+=number[i];
return string2;
}
public static void main(String args[]){
Calculator calculator=new Calculator();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货