用Java初步实现最简易的计算器

界面展示

功能:两个小数之间的加减乘除

代码实现

  1. import java.awt.*;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. import java.awt.event.WindowAdapter;
  5. import java.awt.event.WindowEvent;
  6. //简易计算器
  7. public class TestCalc {
  8. public static void main(String[] args) {
  9. new Calculator().loadFrame();
  10. }
  11. }
  12. //计算器类
  13. class Calculator extends Frame{
  14. //属性
  15. TextField num1,num2,num3,
  16. num4, num5,num6,
  17. num7,num8, num9,
  18. num10,num11,num12;
  19. //方法
  20. public void loadFrame(){
  21. Panel p1 = new Panel();
  22. Panel p2 = new Panel();
  23. Panel p3 = new Panel();
  24. Panel p4 = new Panel();
  25. Button button1 = new Button("=");
  26. Button button2 = new Button("=");
  27. Button button3 = new Button("=");
  28. Button button4 = new Button("=");
  29. p1.add(num1 = new TextField(10));
  30. p1.add(num2 = new TextField(10));
  31. p1.add(num3 = new TextField(10));
  32. p2.add(num4 = new TextField(10));
  33. p2.add(num5 = new TextField(10));
  34. p2.add(num6 = new TextField(10));
  35. p3.add(num7 = new TextField(10));
  36. p3.add(num8 = new TextField(10));
  37. p3.add(num9 = new TextField(10));
  38. p4.add(num10 = new TextField(10));
  39. p4.add(num11 = new TextField(10));
  40. p4.add(num12 = new TextField(10));
  41. button1.addActionListener(new MyAdd());//加
  42. button2.addActionListener(new MySubtract());//减
  43. button3.addActionListener(new MyMultiply());//乘
  44. button4.addActionListener(new MyDivide());//除
  45. //布局
  46. p1.add(num1);
  47. p1.add(new Label("+"));
  48. p1.add(num2);
  49. p1.add(button1);
  50. p1.add(num3);
  51. p2.add(num4);
  52. p2.add(new Label("-"));
  53. p2.add(num5);
  54. p2.add(button2);
  55. p2.add(num6);
  56. p3.add(num7);
  57. p3.add(new Label("*"));
  58. p3.add(num8);
  59. p3.add(button3);
  60. p3.add(num9);
  61. p4.add(num10);
  62. p4.add(new Label("/"));
  63. p4.add(num11);
  64. p4.add(button4);
  65. p4.add(num12);
  66. setLayout(new GridLayout(4,1));
  67. add(p1);
  68. add(p2);
  69. add(p3);
  70. add(p4);
  71. pack();
  72. windowClose();
  73. setVisible(true);
  74. }
  75. //监听器类
  76. private class MyAdd implements ActionListener {
  77. @Override
  78. public void actionPerformed(ActionEvent e) {
  79. //1.获得加数和被加数
  80. double n1 = Double.parseDouble(num1.getText());
  81. double n2 = Double.parseDouble(num2.getText());
  82. num3.setText(""+(n1+n2)); //2.将这个值+法运算后,放到第三个框
  83. num1.setText("");
  84. num2.setText(""); //3.清除前两个框
  85. }
  86. }
  87. private class MySubtract implements ActionListener{
  88. @Override
  89. public void actionPerformed(ActionEvent e) {
  90. //1.获得减数和被减数
  91. double n3 = Double.parseDouble(num4.getText());
  92. double n4 = Double.parseDouble(num5.getText());
  93. num6.setText(""+(n3-n4)); //2.将这个值-法运算后,放到第三个框
  94. num4.setText("");
  95. num5.setText(""); //3.清除前两个框
  96. }
  97. }
  98. private class MyMultiply implements ActionListener{
  99. @Override
  100. public void actionPerformed(ActionEvent e) {
  101. //1.获得相乘的两个数
  102. double n5 = Double.parseDouble(num7.getText());
  103. double n6 = Double.parseDouble(num8.getText());
  104. num9.setText(""+(n5*n6)); //2.将这个值*法运算后,放到第三个框
  105. num7.setText("");
  106. num8.setText(""); //3.清除前两个框
  107. }
  108. }
  109. private class MyDivide implements ActionListener{
  110. @Override
  111. public void actionPerformed(ActionEvent e) {
  112. //1.获得除数和被除数
  113. double n7 = Double.parseDouble(num10.getText());
  114. double n8 = Double.parseDouble(num11.getText());
  115. num12.setText(""+(n7/n8)); //2.将这个值/法运算后,放到第三个框
  116. num10.setText("");
  117. num11.setText(""); //3.清除前两个框
  118. }
  119. }
  120. //关闭窗体的事件
  121. private void windowClose(){
  122. addWindowListener(new WindowAdapter() {
  123. @Override
  124. public void windowClosing(WindowEvent e) {
  125. System.exit(0);
  126. }
  127. });
  128. }
  129. }
posted @ 2021-04-07 16:59  星忄守候  阅读(422)  评论(0)    收藏  举报