永发信息网

书一个java程序,编写一个计算器,可以键盘输入!急!谢谢

答案:4  悬赏:50  手机版
解决时间 2021-03-21 18:45
  • 提问者网友:孤山下
  • 2021-03-21 02:46
书一个java程序,编写一个计算器,可以键盘输入!急!谢谢
最佳答案
  • 五星知识达人网友:思契十里
  • 2021-03-21 04:23


import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
class Calculator extends JFrame implements ActionListener{
    JPanel panel, panel1, panel2, panel3;
    JLabel labelSpace; 
    JButton buttonCe;
    JButton button[];
    JButton buttonDot,buttonAdd,buttonSub,buttonMul,buttonDiv;
    JButton buttonEqual;
    JTextField textAnswer;
    boolean clickable; 
    double vard,answerd; 
    short key = 0; 
    int times = 0;
    public Calculator() {
     super("计算器");
        clickable = true;
        answerd = 0;
        textAnswer = new JTextField(20);
        textAnswer.setText("");
        textAnswer.setEditable(false);
        panel = new JPanel();
        Container w1Container=this.getContentPane();
        panel1 = new JPanel();
        panel2 = new JPanel();
        panel.setLayout(new BorderLayout());
        panel.add(textAnswer,BorderLayout.CENTER);
        panel.add(panel1,BorderLayout.SOUTH);
        panel1.setLayout(new BorderLayout());
        labelSpace = new JLabel("                   ");
        buttonCe = new JButton("Ce");
        buttonCe.addActionListener(this);
        panel1.add(panel2,BorderLayout.NORTH);
        panel2.setLayout(new FlowLayout(FlowLayout.RIGHT));
        panel2.add(buttonCe);
        panel3 = new JPanel();
        panel1.add(panel3,BorderLayout.CENTER);
        button = new JButton[10];
        for (int i = 0; i             button[i] = new JButton(Integer.toString(i));
        }
        buttonDot = new JButton(".");
        buttonAdd = new JButton("+");
        buttonSub = new JButton("-");
        buttonMul = new JButton("*");
        buttonDiv = new JButton("/");
        buttonEqual = new JButton("=");
        panel3.setLayout(new GridLayout(4,4));
        panel3.add(button[7]);
        button[7].addActionListener(this);
        panel3.add(button[8]);
        button[8].addActionListener(this);
        panel3.add(button[9]);
        button[9].addActionListener(this);
        panel3.add(buttonMul);
        buttonMul.addActionListener(this);
        panel3.add(button[4]);
        button[4].addActionListener(this);
        panel3.add(button[5]);
        button[5].addActionListener(this);
        panel3.add(button[6]);
        button[6].addActionListener(this);
        panel3.add(buttonSub);
        buttonSub.addActionListener(this);
        panel3.add(button[1]);
        button[1].addActionListener(this);
        panel3.add(button[2]);
        button[2].addActionListener(this);
        panel3.add(button[3]);
        button[3].addActionListener(this);
        panel3.add(buttonDiv);
        buttonDiv.addActionListener(this);
        panel3.add(button[0]);
        button[0].addActionListener(this);
        panel3.add(buttonDot);
        buttonDot.addActionListener(this);
        panel3.add(buttonAdd);
        buttonAdd.addActionListener(this);
        panel3.add(buttonEqual);
        buttonEqual.addActionListener(this);
        w1Container.add(panel);
        this.setSize(300,205);
        this.setVisible(true);
    }
  public void actionPerformed(ActionEvent event) {
     Object temp = event.getSource();
     try{
     for (int i = 0; i <= 9; i++)
          if (temp == button[i] && clickable == true){
              textAnswer.setText(textAnswer.getText() + Integer.toString(i));
              }
      if (temp == buttonDot && clickable == true) {
      boolean isDot = false;
      if (textAnswer.getText().length() == 0)
          isDot = true;
          for (int i = 0; i               if ('.' == textAnswer.getText().charAt(i)){
                  isDot = true;
                  break;
              }
          }
          if (isDot == false)
            textAnswer.setText(textAnswer.getText() + ".");
      }
      if ( (temp==buttonAdd||temp==buttonSub||temp==buttonMul||temp==buttonDiv)&&clickable==true){
          if(temp == buttonAdd){
             if(times==0){
                 answerd += Double.parseDouble(textAnswer.getText());
                 times++;
             }
             textAnswer.setText("");
              key = 1;
          }
          if(temp == buttonSub){
             if(times==0){
                 answerd += Double.parseDouble(textAnswer.getText());
                 times++;
             }
             textAnswer.setText("");
              key = 2;
          }
          if(temp == buttonMul){
             if(times==0){
                 answerd += Double.parseDouble(textAnswer.getText());
                 times++;
             }
             textAnswer.setText("");
              key = 3;
          }
          if(temp == buttonDiv){
              if(times==0){
                 answerd += Double.parseDouble(textAnswer.getText());
                 times++;
             }
              textAnswer.setText("");
              key = 4;
          }
      }
      if(temp == buttonEqual && clickable == true) {
          if(times>0){
              vard = Double.parseDouble(textAnswer.getText());
              }
          if (key == 1) {
            answerd += vard;
            textAnswer.setText(Double.toString(answerd));
          }
          if (key == 2) {
            answerd -= vard;
            textAnswer.setText(Double.toString(answerd));
          }
          if (key == 3) {
            answerd *= vard;
            textAnswer.setText(Double.toString(answerd));
          }
          if (key == 4) {
              if (vard == 0) {
                textAnswer.setText("除数不能为零");
                clickable = false;
                }
              else {
                answerd /= vard;
                textAnswer.setText(Double.toString(answerd));
                }
              }
      }
      if (temp == buttonCe) {
          vard = answerd = times = 0;
          textAnswer.setText("");
          clickable = true;
          }
      }
      catch(Exception e){
          textAnswer.setText("非法操作");
          clickable = false; 
          }
  }

  public static void main(String args[]) {
      Calculator calculator = new Calculator();
  }
}可以直接运行。
全部回答
  • 1楼网友:人類模型
  • 2021-03-21 06:48
提高悬赏 我给你
  • 2楼网友:白昼之月
  • 2021-03-21 06:24
就加减乘除四种功能的话就还瞒简单的呀
  • 3楼网友:妄饮晩冬酒
  • 2021-03-21 05:35

java计算机可以写键盘监听。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯