JAVA简单咋做,计算器代码

简单写了下,代码如下请参照:/** * 计算器类 * * @author Administrator * */public class Calculator extends JFrame implements ActionListener { private static final long serialVersionUID = 3868243398506940702L; // 文本框 private JTextField result; // 按钮数组 private JBu...
JAVA简单咋做,计算器代码
简单写了下,代码如下请参照:
/** * 计算器类 * * @author Administrator * */public class Calculator extends JFrame implements ActionListener { private static final long serialVersionUID = 3868243398506940702L; // 文本框 private JTextField result; // 按钮数组 private JButton[] buttons; // 按钮文本 private final String[] characters = { "7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3", "-", "0", ".", "=", "+" }; // 是否为第一个输入的数字 private boolean isFirstDigit = true; // 运算结果 private double resultNum = 0.0; // 运算符 private String operator = "="; public Calculator(String title) { // 设置标题栏 super(title); // 初始化各组件 init(); // 注册各组件监听器 registerListener(); // 显示窗体 setVisible(true); } /** * 初始化各组件 */ private void init() { // 常用属性初始化 setSize(220, 200); setResizable(false); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); /* 文本框对象初始化 */ result = new JTextField("0"); // 文本右对齐 result.setHorizontalAlignment(JTextField.RIGHT); // 设置是否可编辑 result.setEditable(false); /* 按钮初始化 */ buttons = new JButton[characters.length]; for (int i = 0; i < buttons.length; i++) { buttons[i] = new JButton(characters[i]); buttons[i].setFocusable(false); // 不允许按钮定位焦点 } /* 将文本框与按钮添加到窗体中 */ add(result, BorderLayout.NORTH); JPanel pnl = new JPanel(new GridLayout(4, 4, 5, 5)); for (JButton jButton : buttons) { pnl.add(jButton); } add(pnl); this.getContentPane().setFocusable(true); } /** * 注册监听器 */ private void registerListener() { for (JButton jButton : buttons) { jButton.addActionListener(this); } // 注册键盘事件 this.getContentPane().addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { String text = String.valueOf(e.getKeyChar()); if (Character.isDigit(text.charAt(0)) || ".".equals(text)) { // 数字或小数点 handleNumber(text); } else if ("+-*/=".indexOf(text) != -1) { // 运算符 handleOperator(text); } else if (e.getKeyCode() == 8) { // 退格键 String tmp = result.getText().trim(); if (tmp.length() == 1) { result.setText("0"); isFirstDigit = true; } else { result.setText(tmp.substring(0, tmp.length() - 1)); } } } }); } @Override public void actionPerformed(ActionEvent e) { JButton btn = (JButton) e.getSource(); String text = btn.getText().trim(); if (Character.isDigit(text.charAt(0)) || ".".equals(text)) { // 处理数字和小数点 handleNumber(text); } else { // 处理运算符 handleOperator(text); } } /** * 处理数字和小数点 * * @param text */ private void handleNumber(String text) { if (isFirstDigit) { // 第一次输入 if (".".equals(text)) { this.result.setText("0."); } else { this.result.setText(text); } } else if ("0".equals(text) && "0".equals(this.result.getText())) { isFirstDigit = true; return; } else if (".".equals(text) && this.result.getText().indexOf(".") == -1) { this.result.setText(this.result.getText() + "."); } else if (!".".equals(text)) { this.result.setText(this.result.getText() + text); } isFirstDigit = false; } /** * 处理运算符 * * @param text */ private void handleOperator(String text) { switch (operator) { // 处理各项运算 适用于JDK1.7版本的 case "+": resultNum += Double.parseDouble(this.result.getText()); break; case "-": resultNum -= Double.parseDouble(this.result.getText()); break; case "*": resultNum *= Double.parseDouble(this.result.getText()); break; case "/": resultNum /= Double.parseDouble(this.result.getText()); break; case "=": resultNum = Double.parseDouble(this.result.getText()); break; } // 将文本框的值修改为运算结果 this.result.setText(String.valueOf(resultNum)); // 将点击的运算符放入operator保存 operator = text; // 下一个数字第一次点击 isFirstDigit = true; } public static void main(String[] args) { new Calculator("My Calculator"); }}运行结果如下:

2017-12-22
语言很容易学的,,,买本书或者上网搜一下教学视频就好了2017-12-24
可以私信我,很简单2017-12-23
如果您是使用cmd来运行的话,我这里有个方法:
两整数个数相加,如果需要更多个数相加的话,增加变量就可以了:
class calculator{ public static void main(String args) { int x = 1; //这里是您需要输入的第一个需要相加的数字 int y = 1; //这里是您需要输入的第二个需要相加的数字 System.out.println(x+y); //打印结果 }}2018-01-03
mengvlog 阅读 8 次 更新于 2025-07-19 07:40:09 我来答关注问题0
  • 简单写了下,代码如下请参照:/** * 计算器类 * * @author Administrator * */public class Calculator extends JFrame implements ActionListener { private static final long serialVersionUID = 3868243398506940702L; // 文本框 private JTextField result; // 按钮数组 private JBu...

  •  深空见闻 你好,可以帮我用java编写一个简单计算器程序吗?实现double数据类型的加减乘除

    首先,我们需要创建一个名为JiSuanQi的Java类,并在其中定义main方法。在main方法中,我们初始化两个double变量d1和d2,分别赋予1.23和2.30的值。同时,我们还需要定义一个字符变量ch,用于存储运算符。这里我们选择使用+、-、*、/四个常见的运算符进行演示。接下来,我们使用switch语句来判断字符ch的...

  • 在actionPerformed方法中,添加处理计算逻辑的代码。注意,这里的示例代码存在简化处理,实际使用时需要考虑输入的有效性和异常处理。添加窗口关闭监听器:为了能够在关闭窗口时退出程序,需要添加WindowListener,并重写windowClosing方法。编写主方法:在类中编写main方法,用于启动计算器程序。在main方法中,创建Cal...

  •  翡希信息咨询 如何使用Java AWT 创建一个简易计算器

    使用Java AWT创建简易计算器的步骤如下:创建主窗口和布局:使用Frame类创建一个主窗口。设置窗口的标题、大小和布局管理器。添加数字按钮:使用Button类创建数字按钮。为每个数字按钮添加ActionListener,在按钮被点击时,将按钮的值存储在变量中,并与当前显示的值连接,然后更新显示标签的内容。添加特殊按钮...

  • Hello World程序:从最简单的“Hello World”程序开始,体验Java程序的编写、编译和运行过程。计算器程序:尝试编写一个能够进行基本数学运算的计算器程序。利用IDE:选择IDE:如Eclipse、IntelliJ IDEA或NetBeans等,这些IDE提供了代码补全、调试等强大功能,有助于初学者更好地编写和调试程序。创建项目:在...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部