📄 calculator.java
字号:
//计算器实现加、减、乘、除import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Calculator extends JFrame implements ActionListener{ private JTextField m_textField=new JTextField(12); private JButton[]m_button={ new JButton("1"),new JButton("2"),new JButton("3"),new JButton("4"), new JButton("5"),new JButton("6"),new JButton("7"),new JButton("8"), new JButton("9"),new JButton("0"),new JButton("+"),new JButton("-"), new JButton("*"),new JButton("/"),new JButton("."),new JButton("="), new JButton("C")}; public Calculator() { super("Calculator"); Container container=getContentPane(); container.setLayout(new FlowLayout(FlowLayout.CENTER)); container.add(m_textField); container.add(m_button[16]); container.add(m_button[0]); container.add(m_button[1]); container.add(m_button[2]); container.add(m_button[10]); container.add(m_button[3]); container.add(m_button[4]); container.add(m_button[5]); container.add(m_button[11]); container.add(m_button[6]); container.add(m_button[7]); container.add(m_button[8]); container.add(m_button[12]); container.add(m_button[9]); container.add(m_button[14]); container.add(m_button[15]); container.add(m_button[13]); for(int i=0;i<=16;i++) m_button[i].addActionListener(this); setSize(200,200); setVisible(true); } int flag,flag2; double value1,value2,result;//定义两个运算数和结果 public void actionPerformed(ActionEvent e) { int i; for(i=0;i<10;i++) { if(e.getSource()==m_button[i]) { if(flag2==1) //若等号后再输数字,则清空 m_textField.setText(""); flag2=0; String value=String.valueOf((i+1)%10); m_textField.setText(m_textField.getText()+value); } } if(e.getSource()==m_button[10]) //加 { flag=1; value1=Double.parseDouble(m_textField.getText());//得到第一个计算数 m_textField.setText(""); //清空 } else if(e.getSource()==m_button[11]) //减 { flag=2; value1=Double.parseDouble(m_textField.getText()); m_textField.setText(""); } else if(e.getSource()==m_button[12])//乘 { flag=3; value1=Double.parseDouble(m_textField.getText()); m_textField.setText(""); } else if(e.getSource()==m_button[13]) //除 { flag=4; value1=Double.parseDouble(m_textField.getText()); m_textField.setText(""); } else if(e.getSource()==m_button[15]) //= { value2=Double.parseDouble(m_textField.getText()); //得到另一个计算数 flag2=1; if(flag==1) result=value1+value2; //运算 else if(flag==2) result=value1-value2; else if(flag==3) result=value1*value2; else if(flag==4){ if(value2!=0) result=value1/value2; else result=0; } String r=String.valueOf(result); m_textField.setText(r); } else if(e.getSource()==m_button[14]) //添加小数点 { int flag1=1; String r=m_textField.getText();//判断文本框内的字符串中是否已经含有“.”若有,则按“.”键无效,若无,则输出“.” for(int j=0;j<r.length();j++) { if(r.charAt(j)==".".charAt(0)) flag1=0; } if(flag1==1) m_textField.setText(m_textField.getText()+ "."); } else if(e.getSource()==m_button[16]) //复位,清空 m_textField.setText(""); } public static void main(String args[]) { Calculator app=new Calculator(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -