使用JAVA编程设计并实现一个通用计算器的应用程序。

2025-03-07 15:29:02
推荐回答(2个)
回答1:

import java.awt.*;
import java.awt.event.*;

public class test extends WindowAdapter {

Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
TextField txt;
private Button[] b = new Button[17];
private String ss[] = { "7", "8", "9", "+", "4", "5", "6", "-", "1", "2",
"3", "*", "清空", "0", "=", "/", "关闭" };
static double a,b2;
static String s, str;//定义变量 创建对像

public static void main(String args[]) {
(new test()).frame();
}

public void frame() {
Frame fm = new Frame("简单计算器");
for (int i = 0; i <= 16; i++) {
b[i] = new Button(ss[i]);
}
for (int i = 0; i <= 15; i++) {
p2.add(b[i]);
} //创建按钮 并添加到P2
b[16].setBackground(Color.yellow);
txt = new TextField(15);
txt.setEditable(false);
for (int i = 0; i <= 16; i++) {
b[i].addActionListener(new buttonlistener());//添加监听器
}
// b[16].addActionListener(new close());
fm.addWindowListener(this);
fm.setBackground(Color.red);
p1.setLayout(new BorderLayout());
p1.add(txt, "North");
p2.setLayout(new GridLayout(4, 4));
p3.setLayout(new BorderLayout());
p3.add(b[16]);
fm.add(p1, "North");
fm.add(p2, "Center");
fm.add(p3, "South");

fm.pack();
fm.setVisible(true);//都是些窗中设置 添加相关组件和监听器
}

public void windowClosing(WindowEvent e) {
System.exit(0);//退出系统
}

class buttonlistener implements ActionListener {//编写监听器事件 通过按键得出给果
public void actionPerformed(ActionEvent e) {
Button btn = (Button) e.getSource();
if (btn.getLabel() == "=") {

if(s.equals("+")) a=b2+a;
if(s.equals("-")) a=b2-a;
if(s.equals("*")) a*=b2;
if(s.equals("/")) a=b2/a;
str = String.valueOf(a);
// System.out.print(a);
txt.setText(str);
s = "";
} else if (btn.getLabel() == "+") {

b2 = 0;
b2 = a;
// System.out.print(b2);
txt.setText("");

s = "+";
} else if (btn.getLabel() == "-") {

b2 = 0;
b2=a;
txt.setText("");
s = "-";
} else if (btn.getLabel() == "/") {

b2 = 0;
b2 = a;
txt.setText("");
s = "/";

} else if (btn.getLabel() == "*") {

b2 = 0;
b2 = a;
txt.setText("");
s = "*";
} else if (btn.getLabel() == "清空") {
a = 0;
b2 = 0;
txt.setText("");
}else if(btn.getLabel() == "关闭")
{
System.exit(0);
}
else {
txt.setText(txt.getText() + btn.getLabel());
a = Double.valueOf(txt.getText());
}
}
}

}

调试了 可以运行

回答2:

没分额?这个不太小额。代码我有,给个邮箱