📄 count0.java
字号:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Count0 extends Applet implements ActionListener
{ int i,j=0,m=0,n=0,k=0,l=0,flat=0;
double a=0,b=0,c=0,M=0;
Button bt[]=new Button[27];
TextField te=new TextField();
TextField te1=new TextField();
public void init() {
setBackground(Color.blue);
te.setEditable(false);
te1.setEditable(false);
for(i=0;i<10;i++)
bt[i]=new Button(""+i);
bt[10]=new Button("退格");
bt[11]=new Button("CE");
bt[12]=new Button("C");
bt[13]=new Button("/");
bt[14]=new Button("*");
bt[15]=new Button("-");
bt[16]=new Button("+");
bt[17]=new Button("+/-");
bt[18]=new Button(".");
bt[19]=new Button("sqrt");
bt[20]=new Button("%");
bt[21]=new Button("1/x");
bt[22]=new Button("=");
bt[23]=new Button("MC");
bt[24]=new Button("MR");
bt[25]=new Button("MS");
bt[26]=new Button("M+");
setLayout(null);
add(te);add(te1);
te.setBounds(55,30,300,25);
te1.setBounds(55,70,45,25);
for(i=0;i<27;i++)
add(bt[i]);
for(i=0;i<3;i++)
bt[10+i].setBounds(105+i*85,70,75,25);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
bt[(2-i)*3+1+j].setBounds(105+j*50,100+i*30,45,25);
for(i=0;i<4;i++){
bt[13+i].setBounds(255,100+i*30,45,25);
bt[19+i].setBounds(305,100+i*30,45,25);
bt[23+i].setBounds(55,100+i*30,45,25);
}
bt[0].setBounds(105,190,45,25);
bt[17].setBounds(155,190,45,25);
bt[18].setBounds(205,190,45,25);
for(i=0;i<27;i++)
bt[i].addActionListener(this);
}
public void actionPerformed(ActionEvent e){
String k;
l++;
for(i=0;i<27;i++)
if(e.getSource()==bt[i]){
j=i;break;
}
if(l==1&&j>9) {l=0;return;} //l:输入是否有较
if(j!=11&&j!=12&&flat==1) return;//flat==1:表示文本域显示出错提示
if(j==10)
{ k=te.getText();
te.setText(k.substring(0,k.length()-1));
}
if(j==11){
flat=0;l=0;
te.setText(null); }
if(j==12)
{flat=0;l=0;
a=0;b=0;c=0;
te.setText(null);
}
if(j==17)
te.setText(String.valueOf(-Double.parseDouble(te.getText())));
if(j==18)
{ k=te.getText();
if(k.indexOf('.')!=-1) return;
te.setText(k+".");
}
if(j==19){
if(Double.parseDouble(te.getText())<0) {te.setText("出错:负数不可开平方");flat=1;return;}
te.setText(String.valueOf(Math.sqrt(Double.parseDouble(te.getText()))));
}
if(j==21)
{ if(Double.parseDouble(te.getText())==0){te.setText("出错:正无穷大。");flat=1;return;}
te.setText(String.valueOf(1/Double.parseDouble(te.getText())));
n=1;}//n=1:表示本次运算结束等待新数值的输入
if(j==23)
{te1.setText(null);
M=0;n=1;
}
if(j==24)
te.setText(String.valueOf(M));
if(j==25)
{M=Double.parseDouble(te.getText());
te1.setText("M");n=1; }
if(j==26)
{M=M+Double.parseDouble(te.getText());n=1;}
if(j<10){
if((te.getText()).indexOf('0')==0&&(te.getText()).indexOf('.')==-1)
{te.setText(String.valueOf(j));return;}
if(n==1)
{te.setText("");n=0;}
te.setText(te.getText()+String.valueOf(j));
}
if(j>12&&j<17||j==20){
a=Double.parseDouble(te.getText());
n=1;
m=j-12;
}
if(j==22){
b=Double.parseDouble(te.getText());
if(m==0) {te.setText(String.valueOf(b));n=1;return;}
if(m==1&&b==0)
{te.setText("出错:正无穷大。");flat=1;return;}
if(m==8&&b==0)
{te.setText("出错:不能对零求余。");flat=1;return;}
if(m==1) c=a/b;
if(m==2) c=a*b;
if(m==3) c=a-b;
if(m==4) c=a+b;
if(m==8) c=a%b;
te.setText(String.valueOf(c));
n=1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -