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

📄 counter.java

📁 用于编程参考
💻 JAVA
字号:
/*
 我的简易计算器用法介绍:
 能算正实数的加.减.乘.除及倒数.开方的应用
 当计算X/0时显示除数为0
 当求0的倒数时显示0没有倒数
 当关闭窗口时弹出感谢对话框
 */
import java.awt.*; 
import java.awt.event.*; 
import java.lang.*; 
import javax.swing.*;
import javax.swing.event.*; 
public class Counter extends JFrame 
{ 
GridLayout gl1,gl2; //布局
Panel p0,p1;//面板 
JTextField tf1;//文本区 
JButton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19; //按钮
StringBuffer str;//缓冲区
double x,y;//两个操作数
int i;//用来分操作符
public Counter() 
{ 
super("刘青的简易计算器");
gl1=new GridLayout(1,4,10,0);
gl2=new GridLayout(5,4,10,15);
tf1=new JTextField(27);
tf1.setHorizontalAlignment(JTextField.RIGHT);//把文本放左面了 
tf1.setEnabled(false); //文本不可以写
tf1.setText("0"); 
b16=new JButton("Del"); //按钮上显示
b16.setToolTipText("删除");//鼠标指向时显示
b16.setForeground(Color.red);//字体颜色  以下同样
b16.addActionListener(new Bt()); 
b17=new JButton("CE"); 
b17.setToolTipText("清空");
b17.setForeground(Color.red);
b17.addActionListener(new Bt());
b18=new JButton("1/X");
b18.setToolTipText("倒数"); 
b18.setForeground(Color.red); 
b18.addActionListener(new Bt()); 
b19=new JButton("sqrt"); 
b19.setToolTipText("开平方");
b19.setForeground(Color.red); 
b19.addActionListener(new Bt());
b7=new JButton("7"); 
b7.setForeground(Color.blue); 
b7.addActionListener(new Bt()); 
b8=new JButton("8"); 
b8.setForeground(Color.blue); 
b8.addActionListener(new Bt()); 
b9=new JButton("9"); 
b9.setForeground(Color.blue); 
b9.addActionListener(new Bt()); 
b10=new JButton("/");
b10.setToolTipText("除以");
b10.setForeground(Color.red); 
b10.addActionListener(new Bt()); 
b4=new JButton("4"); 
b4.setForeground(Color.blue); 
b4.addActionListener(new Bt()); 
b5=new JButton("5"); 
b5.setForeground(Color.blue); 
b5.addActionListener(new Bt()); 
b6=new JButton("6"); 
b6.setForeground(Color.blue); 
b6.addActionListener(new Bt()); 
b11=new JButton("*");
b11.setToolTipText("乘以");
b11.setForeground(Color.red); 
b11.addActionListener(new Bt()); 
b1=new JButton("1"); 
b1.setForeground(Color.blue); 
b1.addActionListener(new Bt()); 
b2=new JButton("2"); 
b2.setForeground(Color.blue); 
b2.addActionListener(new Bt()); 
b3=new JButton("3"); 
b3.setForeground(Color.blue); 
b3.addActionListener(new Bt()); 
b12=new JButton("-");
b12.setToolTipText("减去"); 
b12.setForeground(Color.red); 
b12.addActionListener(new Bt()); 
b0=new JButton("0"); 
b0.setForeground(Color.blue); 
b0.addActionListener(new Bt()); 
b13=new JButton(".");
b13.setToolTipText("添加小数点"); 
b13.setForeground(Color.blue); 
b13.addActionListener(new Bt()); 
b14=new JButton("+");
b14.setToolTipText("加上"); 
b14.setForeground(Color.red); 
b14.addActionListener(new Bt()); 
b15=new JButton("=");
b15.setToolTipText("求结果"); 
b15.setForeground(Color.red); 
b15.addActionListener(new Bt()); 
p0=new Panel(); 
p1=new Panel(); 
str=new StringBuffer(); 
p0.add(tf1); //添加文本及按钮
p0.setBounds(10,25,300,40); 
p1.setLayout(gl2);
p1.add(b16); 
p1.add(b17);
p1.add(b18); 
p1.add(b19); 
p1.add(b7); 
p1.add(b8); 
p1.add(b9); 
p1.add(b10); 
p1.add(b4); 
p1.add(b5); 
p1.add(b6); 
p1.add(b11); 
p1.add(b1); 
p1.add(b2); 
p1.add(b3); 
p1.add(b12); 
p1.add(b0); 
p1.add(b13); 
p1.add(b14); 
p1.add(b15); 
p1.setBounds(10,70,300,150); 
setLayout(null); 
add(p0); 
add(p1);  
addWindowListener(new WindowAdapter(){ 
public void windowClosing(WindowEvent e1)//关闭时会怎样 
{ 
JOptionPane.showMessageDialog(null,"谢谢您的使用!期待您的下次使用!~0~","THANKS",JOptionPane.INFORMATION_MESSAGE);
System.exit(0); 
} 
}); 
setBackground(Color.pink); 
setBounds(100,100,320,280); 
setVisible(true); 
} 
class Bt implements ActionListener //开始设监听器
{ 
public void actionPerformed(ActionEvent e2) 
{
if(e2.getSource()==b17)//清零
{ 
tf1.setText("0");
str.setLength(0);
} 
else if(e2.getSource()==b14)//加号
{ 
x=Double.parseDouble(tf1.getText().trim()); 
str.setLength(0);
y=0d;
i=0; 
} 
else if(e2.getSource()==b12)//减号
{ 
x=Double.parseDouble(tf1.getText().trim()); 
str.setLength(0); 
y=0d; 
i=1; 
} 
else if(e2.getSource()==b11)//乘号
{ 
x=Double.parseDouble(tf1.getText().trim()); 
str.setLength(0); 
y=0d;
i=2; 
} 
else if(e2.getSource()==b10)//除号
{
x=Double.parseDouble(tf1.getText().trim()); 
str.setLength(0);
i=3; 
y=0d;
}
else if(e2.getSource()==b15)//等号
{ 
str.setLength(0);  
if(i==0) tf1.setText(""+(x+y));
else if(i==1) tf1.setText(""+(x-y)); 
else if(i==2) tf1.setText(""+(x*y));
else if(i==3){ 
    if(y==0) tf1.setText("除数为0"); 
    else tf1.setText(""+(x/y));
}
}
else if(e2.getSource()==b13)//小数点
{ 
if(tf1.getText().trim().indexOf('.')!=-1)
{ 

} 
else
{ 
if(tf1.getText().trim().equals("0"))
{ 
str.setLength(0); 
tf1.setText((str.append("0"+e2.getActionCommand())).toString()); 
} 
else if(tf1.getText().trim().equals(""))
{ 
} 
else 
{ 
tf1.setText(str.append(e2.getActionCommand()).toString()); 
} 
} 
y=0d; 
} 
else
{ 
if(e2.getSource()==b0)//0按钮
{ 
if(tf1.getText().trim().equals("0"))
{ } 
else 
{ 
tf1.setText(str.append(e2.getActionCommand()).toString()); 
y=Double.parseDouble(tf1.getText().trim()); 
} 
} 
else if(e2.getSource()==b16)//退格
{ 
if(!tf1.getText().trim().equals("0"))
{ 
if(str.length()!=1) 
{ 
tf1.setText(str.delete(str.length()-1,str.length()).toString());
} 
else 
{ 
tf1.setText("0"); 
str.setLength(0); 
} 
} 
y=Double.parseDouble(tf1.getText().trim()); 
}
else if(e2.getSource()==b19)//开方键
{ 
x=Double.parseDouble(tf1.getText().trim()); 
tf1.setText(""+Math.sqrt(x)); 
str.setLength(0); 
y=0d; 
}
else if(e2.getSource()==b18)//倒数
{ 

x=Double.parseDouble(tf1.getText().trim()); 
if(x==0) 
{
tf1.setText("零没有倒数"); 
} 
else 
{ 
tf1.setText(""+(1/x)); 
} 
str.setLength(0); 
y=0d; 
}   
else
{
tf1.setText(str.append(e2.getActionCommand()).toString()); 
y=Double.parseDouble(tf1.getText().trim());
}
}
}
}
public static void main(String args[]) //主函数
{ 
new Counter(); 
}
}


⌨️ 快捷键说明

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