<>Java 简单计算器(加法)
结构图:
如何用java写一个简易的加法计算器?本人菜鸟一枚,半个小时完成。大部分代码的解读注释已经标记好了,如下
*
程序入口
程序的main方法应该始终保持干净清爽,不应该乱七八糟
在这里,我们定义一个公共类 TestCompu(计算器测试)
public class TestCompu { public static void main(String[] args) { Compu compu =
new Compu(); } }
2.计算器需要一个窗口来展示,于是我们创建一个 Compu的窗口(Frame),只需要继承Frame就可以调用Frame中所有方法,其余的解释见代码中,
import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.
WindowEvent; //计算器类 public class Compu extends Frame { //用构造器设置默认属性和方法 public
Compu(){ //组件设置 //3 * 文本框 TextField num1 = new TextField(10); //‘10’可以理解为文本框长度
TextField num2 = new TextField(10); TextField num3 = new TextField(20); //1 * 标签
Label label = new Label("+"); //1 * 按钮 Button button = new Button("=");
//设置布局-采用流式布局 setLayout(new FlowLayout()); //组件可见(注意顺序) add(num1); add(label);
add(num2); add(button); add(num3); //自适应窗口参数 pack(); //窗口可见 setVisible(true);
//为按钮‘=’设置监听来实现功能 //需要一个ActionListener,所以我们需要构造一个 ActionListener 建下一个class
MyActionListener myActionListener = new MyActionListener(num1,num2,num3); button
.addActionListener(myActionListener); //设置关闭窗口的方法 addWindowListener(new
WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.
exit(0); } }); } }
3.在上面的Compu的类中,由于按键的功能需要依赖监听器来实现,所以我们,创建一个名为MyActionListener的类
import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.
ActionListener; public class MyActionListener implements ActionListener {
//准备三个文本框接受 private TextField num1,num2,num3; //有参构造 public MyActionListener(
TextField num1,TextField num2,TextField num3) { //把Compu中的文本框 numx 传给 监听器中的 num
x this.num1 = num1; this.num2 = num2; this.num3 = num3; } //按钮功能设置 @Override
public void actionPerformed(ActionEvent e) { //1. 将 num1 和 num2 这俩文本框中的值 相加
//首先,将num1 num2 通过有参构造以参数的形式传到这个类 并以 int形式 赋值给 n1 n2 (待会要用它俩来计算) int n1 =
Integer.parseInt(num1.getText()); int n2 = Integer.parseInt(num2.getText());
//2. 相加之和给文本框num3 num3.setText(""+(n1+n2)); //num3是文本框不是数值!!! //3. 相加后清除num1
num2 文本框中的数 num1.setText(" "); num2.setText(" "); } }
运行效果:
以上就是这个简易加法运算器的全部代码了,但这种写法不是最优,但最适合新手理解上手,如果有注释错误的地方,请多多包涵,欢迎指正,如果觉得写的还不错,也请点赞肯定一下,感激感激!!