书一个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计算机可以写键盘监听。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯