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 阅读 32 次 更新于 2025-09-11 06:14:41 我来答关注问题0
  • 简单写了下,代码如下请参照:/** * 计算器类 * * @author Administrator * */public class Calculator extends JFrame implements ActionListener { private static final long serialVersionUID = 3868243398506940702L; // 文本框 private JTextField result; // 按钮数组 private JBu...

  •  百度网友6f87babd4 java中写了一个简单计算器,计算0.3*3=0.8999...,有人说要用BigDecimal 类请问要怎么使用最好写一下代码

    代码如下:double d = 0.3;BigDecimal bd = new BigDecimal(d+"");BigDecimal bd2 = new BigDecimal(3);System.out.println(bd.multiply(bd2));--- 需要注意的是, BigDecimal bd = new BigDecimal(d+"");构造函数要传String类型,如果传double类型的话,结果也是0.8999......

  •  文暄生活科普 求在Eclipse中做的java计算器,要求实现加减乘除,外加(),开根号等功能,跪求啊,1589323802@qq.com

    首先,你需要定义一个主类,比如命名为Test,并在其中编写主方法。主方法中,通过循环接收用户输入的表达式,使用Scanner类读取输入。当用户输入表达式时,通过split方法根据"+"符号拆分输入字符串,进而对拆分后的数字进行计算。这里我们仅展示如何接收输入和拆分字符串,后续需要添加具体的计算逻辑。示例代码...

  • import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;class Stack_Float { float nums[];int top;Stack_Float(){ nums = new float[50];top = -1;} boolean IsEmpty(){ if (top == ...

  •  tong_fan 编写一个JAVA计算器程序

    编写一个模拟计算器的Java Applet或Java Application程序,使用面板和网格布局,添加3个文本框,其中两个作为操作数使用,另一个作为显示使用, 4个“加减乘除”运算符按钮,一个“等号”按钮,一个“清空”按钮,一个“退出”按钮。用户在两个文本框中输入数据,单击运算符后单击等号按钮后,结果显示在第三个文本框中;单击...

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

Java相关话题

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