📄 mycalculator.java
字号:
else if(list.size()==3){
String dot=".";
String num=(String)list.getLast();
String s=null;
if(num.indexOf(dot)==-1){
s=num.concat(dot);
list.set(2,s);
}
else{
s=num;
}
answerwindow.setText(s);
}
}
else if(b.getFunction()=="BackSpace"){
if(list.size()==1){
String num=(String)list.getFirst();
if(num.length()>=1){
num=num.substring(0,num.length()-1);
list.set(0,num);
answerwindow.setText(num);
}
else{
list.removeLast();
answerwindow.setText("0");
}
}
else if(list.size()==3){
String num=(String)list.getLast();
if(num.length()>=1){
num=num.substring(0,num.length()-1);
list.set(2,num);
answerwindow.setText(num);
}
}
}
else if(b.getFunction()=="+/-"){
if(list.size()==1){
String number1=(String)list.getFirst();
try{
double d=Double.parseDouble(number1);
d=-1*d;
String str=String.valueOf(d);
list.set(0,str);
answerwindow.setText(str);
}catch(Exception ee){}
}
else if(list.size()==3){
String number2=(String)list.getLast();
try{
double d=Double.parseDouble(number2);
d=-1*d;
String str=String.valueOf(d);
list.set(2,str);
answerwindow.setText(str);
}catch(Exception ee){}
}
}
else if(b.getFunction()=="1/x"){
if(list.size()==1){
String number1=(String)list.getFirst();
try{
double d=Double.parseDouble(number1);
d=1.0/d;
String str=String.valueOf(d);
list.set(0,str);
answerwindow.setText(str);
}catch(Exception ee){}
}
else if(list.size()==3){
String number2=(String)list.getLast();
try{
double d=Double.parseDouble(number2);
d=1.0/d;
String str=String.valueOf(d);
list.set(0,str);
answerwindow.setText(str);
}catch(Exception ee){}
}
}
else if(b.getFunction()=="C"){
equalflag=false;
answerwindow.setText("0");
list.clear();
}
else if(b.getFunction()=="CE"){
if(list.size()==1){
answerwindow.setText("0");
list.clear();
}
else if(list.size()==2){
answerwindow.setText("0");
list.clear();
}
else if(list.size()==3){
list.removeLast();
answerwindow.setText("0");
}
}
else if(b.getFunction()=="%"){
if(list.size()==1){
String number1=(String)list.getFirst();
try{
double d=Double.parseDouble(number1);
d=d/100.0;
String str=String.valueOf(d);
list.set(0,str);
answerwindow.setText(str);
}catch(Exception ee){}
}
else if(list.size()==3){
String number2=(String)list.getLast();
try{
double d=Double.parseDouble(number2);
d=d/100.0;
String str=String.valueOf(d);
list.set(2,str);
answerwindow.setText(str);
}catch(Exception ee){}
}
}
else if(b.getFunction()=="sqrt"){
if(list.size()==1){
String number1=(String)list.getFirst();
try{
double d=Double.parseDouble(number1);
d=Math.sqrt(d);
String str=String.valueOf(d);
list.set(0,str);
answerwindow.setText(str);
}catch(Exception ee){}
}
else if(list.size()==3){
String number2=(String)list.getFirst();
try{
double d=Double.parseDouble(number2);
d=Math.sqrt(d);
String str=String.valueOf(d);
list.set(0,str);
answerwindow.setText(str);
}catch(Exception ee){}
}
}
else if(b.getFunction()=="MS"){
if(list.size()==1 || list.size()==2){
if(memorylist.size()==1){
memorylist.set(0,list.getFirst());
tempwindow.setText("M "+memorylist.getFirst());
}
else if(memorylist.size()==0){
memorylist.add(list.getFirst());
tempwindow.setText("M "+memorylist.getFirst());
}
}
else if(list.size()==3){
if(memorylist.size()==1){
memorylist.set(0,list.getLast());
tempwindow.setText("M "+memorylist.getFirst());
}
else if(memorylist.size()==0){
memorylist.add(list.getFirst());
tempwindow.setText("M "+memorylist.getFirst());
}
}
}
else if(b.getFunction()=="MC"){
if(memorylist.size()==1){
memorylist.clear();
tempwindow.setText("");
}
}
else if(b.getFunction()=="M+"){
if(list.size()==1 || list.size()==2){
if(memorylist.size()==1){
String number1=(String)list.getFirst();
double d1=Double.parseDouble(number1);
String number2=(String)memorylist.getFirst();
double d2=Double.parseDouble(number2);
double d3=d2+d1;
String str=String.valueOf(d3);
memorylist.set(0,str);
tempwindow.setText("M "+str);
}
else if(memorylist.size()==0){
memorylist.add(list.getFirst());
tempwindow.setText("M "+memorylist.getFirst());
}
}
else if(list.size()==3){
if(memorylist.size()==1){
String number1=(String)list.getLast();
double d1=Double.parseDouble(number1);
String number2=(String)memorylist.getFirst();
double d2=Double.parseDouble(number2);
double d3=d2+d1;
String str=String.valueOf(d3);
memorylist.set(0,str);
tempwindow.setText("M "+str);
}
else if(memorylist.size()==0){
memorylist.add(list.getLast());
tempwindow.setText("M "+memorylist.getFirst());
}
}
else if(list.size()==0){
if(memorylist.size()==1){
String number=(String)memorylist.getFirst();
double d=Double.parseDouble(number);
d=d*2;
String str=String.valueOf(d);
memorylist.set(0,str);
tempwindow.setText("M "+memorylist.getFirst());
}
}
}
else if(b.getFunction()=="MR"){
if(memorylist.size()==1){
if(list.size()==1){
String str=(String)memorylist.getFirst();
list.set(0,str);
answerwindow.setText(str);
}
else if(list.size()==2){
String str=(String)memorylist.getFirst();
list.add(2,str);
answerwindow.setText(str);
}
else if(list.size()==3){
String str=(String)memorylist.getFirst();
list.set(2,str);
answerwindow.setText(str);
}
else if(list.size()==0){
String str=(String)memorylist.getFirst();
list.add(str);
answerwindow.setText(str);
}
}
}
}
}
public static void main(String args[]){
new MyCalculator();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -