📄 count.java
字号:
package awt;
//怎么看不出JFC与AWT的区别??
import java.awt.*;//可以split 集合分割123一组,+一组//加也分连加不连加//输入一个处理一个还是全输入完再处理??
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
//利用全局变量计算。。。。。。
public class Count extends JFrame implements ActionListener {//extends JJJJJJFrame
String o="";//若String o=null;则输出null
String p="";
String q="";
double he=0;
private JFrame f=new JFrame("计算器");
private JLabel la=new JLabel("");
private JPanel pa=new JPanel();
private JButton[] butt=new JButton[16];//必须 =new Button[16]
public void go(){
for(int i=0;i<10;i++){
butt[i]= new JButton(""+i);
//System.out.println(butt[0]);//输出java.awt.Button[button0,0,0,0x0,invalid,label=0]
}
butt[10]=new JButton("+");
butt[11]=new JButton("-");
butt[12]=new JButton("*");
butt[13]=new JButton("/");
butt[14]=new JButton("reset");
butt[15]=new JButton("=");//还可添加小数点button
getContentPane().setLayout(new BorderLayout());
getContentPane().setLayout(new GridLayout(4,3));//保证四行,列不一定为三,匹配即可
getContentPane().add(BorderLayout.NORTH,la);
getContentPane().add(BorderLayout.CENTER,pa);//.CENTER比.SOUTH好看点儿
for(int i=1;i<4;i++)
{//System.out.println("请显示");
// System.out.println(butt[1]);//输出java.awt.Button[button0,0,0,0x0,invalid,label=1]
getContentPane().add(butt[i]);
}
pa.add(butt[10]);
for(int i=4;i<7;i++)
pa.add(butt[i]);
pa.add(butt[11]);
for(int i=7;i<10;i++)
pa.add(butt[i]);
pa.add(butt[12]);
pa.add(butt[0]);
pa.add(butt[14]);
pa.add(butt[13]);
pa.add(butt[15]);
/* f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt){
f.setVisible(false);
f.dispose();
System.exit(0);
}
});*/
for(int i=0;i<16;i++)
butt[i].addActionListener(this);//this 指谁啊??//此处调actionPerformed函数
setSize(300, 300);
setVisible(true);
}
public void actionPerformed(ActionEvent evt){//点button一次触发一次此事件
if(!(evt.getActionCommand().equals("+"))&&!(evt.getActionCommand().equals("-"))&&
!(evt.getActionCommand().equals("*"))&&!(evt.getActionCommand().equals("/"))&&
!(evt.getActionCommand().equals("="))&&!(evt.getActionCommand().equals("reset"))){
//evt.getActionCommand()取按钮的值,la.getText();取label的值
o= o+evt.getActionCommand();//分清0与o
la.setText(o);
}
else if(evt.getActionCommand().equals("+")){
p=o;
o="";
q="+";
}
else if(evt.getActionCommand().equals("-")){
p=o;
//he=Double.parseDouble(o); 错了
o="";
q="-";
}
else if(evt.getActionCommand().equals("*")){
p=o;
o="";
q="*";
}
else if(evt.getActionCommand().equals("/")){
p=o;
o="";
q="/";
}
else if(evt.getActionCommand().equals("reset")){
o="";
q="";
p="";
he=0;//以上四句必要,因为reset代表从新开始,以前的记忆全部清零
la.setText("");
//System.out .println("hello");
}
else if(evt.getActionCommand().equals("=")){
if(p==""){//连续运算
if(q.equals("+")){//连加
he=he+Double.parseDouble(o);
la.setText(""+he);
}
if(q.equals("-")){
he=he-Double.parseDouble(o);
la.setText(""+he);
}
if(q.equals("*")){
he=he*Double.parseDouble(o);
la.setText(""+he);
}
if(q.equals("/")){
he=he/Double.parseDouble(o);
la.setText(""+he);
}
/*if(q.equals("reset")){
la.setText("");
}*/
}
else if(p!=""){
if(q.equals("+")){
he=Double.parseDouble(p)+Double.parseDouble(o);
la.setText(""+he);
}
if(q.equals("-")){
he=Double.parseDouble(p)-Double.parseDouble(o);
la.setText(""+he);
}
if(q.equals("*")){
he=Double.parseDouble(p)*Double.parseDouble(o);
la.setText(""+he);
}
if(q.equals("/")){
he=Double.parseDouble(p)/Double.parseDouble(o);
la.setText(""+he);
}
if(q.equals("reset")){
la.setText("");
}
}
o="";
p="";
q="";
}
}
public static void main(String[] args) {
AWTCount aw=new AWTCount();
aw.go();
// double n=aw.countData();//创建的方法怎么调在哪什么时候调??
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -