展开全部

有一个62616964757a686964616fe58685e5aeb931333337626136现成的参考一下吧import java.awt.event.ActionEvent;

public class Application extends JFrame {

protected String str = "";

protected boolean isChar = true;

protected boolean isEqual = false;

protected JTextField textField;

public Application() {

Listener listerner = new Listener(this);

getContentPane().setLayout(null);

JButton button = new JButton("7");

button.addActionListener(listerner);

button.setBounds(12, 69, 43, 27);

getContentPane().add(button);

textField = new JTextField();

textField.setText("0");

textField.setEditable(false);

textField.setHorizontalAlignment(JTextField.RIGHT);

textField.setBounds(12, 22, 377, 27);

getContentPane().add(textField);

textField.setColumns(10);

JButton button_1 = new JButton("8");

button_1.addActionListener(listerner);

button_1.setBounds(103, 69, 43, 27);

getContentPane().add(button_1);

JButton button_2 = new JButton("9");

button_2.addActionListener(listerner);

button_2.setBounds(182, 69, 43, 27);

getContentPane().add(button_2);

JButton button_3 = new JButton("4");

button_3.addActionListener(listerner);

button_3.setBounds(12, 106, 43, 27);

getContentPane().add(button_3);

JButton button_4 = new JButton("5");

button_4.addActionListener(listerner);

button_4.setBounds(103, 106, 43, 27);

getContentPane().add(button_4);

JButton button_5 = new JButton("6");

button_5.addActionListener(listerner);

button_5.setBounds(182, 106, 43, 27);

getContentPane().add(button_5);

JButton button_6 = new JButton("1");

button_6.addActionListener(listerner);

button_6.setBounds(12, 143, 43, 27);

getContentPane().add(button_6);

JButton button_7 = new JButton("2");

button_7.addActionListener(listerner);

button_7.setBounds(103, 143, 43, 27);

getContentPane().add(button_7);

JButton button_8 = new JButton("3");

button_8.addActionListener(listerner);

button_8.setBounds(182, 143, 43, 27);

getContentPane().add(button_8);

JButton button_9 = new JButton("+");

button_9.addActionListener(listerner);

button_9.setBounds(269, 72, 43, 27);

getContentPane().add(button_9);

JButton button_10 = new JButton("-");

button_10.addActionListener(listerner);

button_10.setBounds(346, 72, 43, 27);

getContentPane().add(button_10);

JButton button_11 = new JButton("*");

button_11.addActionListener(listerner);

button_11.setBounds(269, 109, 43, 27);

getContentPane().add(button_11);

JButton button_12 = new JButton("/");

button_12.addActionListener(listerner);

button_12.setBounds(346, 109, 43, 27);

getContentPane().add(button_12);

JButton button_13 = new JButton("=");

button_13.addActionListener(listerner);

button_13.setBounds(346, 143, 43, 27);

getContentPane().add(button_13);

JButton button_14 = new JButton("0");

button_14.addActionListener(listerner);

button_14.setBounds(103, 180, 43, 27);

getContentPane().add(button_14);

JButton btnReset = new JButton("reset");

btnReset.addActionListener(listerner);

btnReset.setBounds(269, 180, 118, 27);

getContentPane().add(btnReset);

JButton button_15 = new JButton(".");

button_15.addActionListener(listerner);

button_15.setBounds(269, 146, 43, 27);

getContentPane().add(button_15);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setResizable(false);

this.setSize(442, 260);

this.setLocationRelativeTo(null);

this.setVisible(true);

}

public static void main(String[] args) {

new Application();

}

}

class Listener implements ActionListener {

private Application app = null;

public Listener(Application app) {

this.app = app;

}

public void actionPerformed(ActionEvent e) {

String value = e.getActionCommand();

if (value.matches("[0-9.]")) {

if (app.isChar) {

app.textField.setText("");

app.isChar = false;

}

if (app.isEqual && app.str.matches("[0-9.]*")) {

app.str = "";

app.isEqual = false;

}

app.str += value;

app.textField.setText(app.textField.getText() + value);

} else if (value.matches("[\\+\\-\\*/]")) {

if (!app.str.substring(app.str.length() - 1)

.matches("[\\+\\-\\*/]")) {

app.str += value;

app.isChar = true;

}

} else if ("=".equals(value)) {

app.isEqual = true;

if (app.str.substring(app.str.length() - 1).matches("[\\+\\-]")) {

app.str += "0";

} else if (app.str.substring(app.str.length() - 1)

.matches("[\\*/]")) {

app.str += "1";

}

Interpreter bsh = new Interpreter();

String obj = null;

try {

obj = bsh.eval(app.str).toString();

} catch (Exception exception) {

System.out.println(exception.getMessage());

}

System.out.println(app.str);

app.textField.setText(obj);

app.str = obj;

app.isChar = true;

} else {

app.str = "";

app.textField.setText("0");

}

}

}

java编写的计算器要怎么运行_怎么用java编写一个计算器相关推荐

  1. 树莓派Java程序运行_树莓派上Java程序作为linux服务并开机自动启动

    http://www.iigrowing.cn/shu_mei_pai_shang_java_cheng_xu_zuo_wei_linux_fu_wu_bing_kai_ji_zi_dong_qi_d ...

  2. c++指定在某一线程运行_深入理解Java虚拟机-运行时数据区

    在Java虚拟机的概念中,运行时数据区又被称为Java内存区域.主要由线程私有的程序计数器.虚拟机栈和本地方法栈以及线程共享的堆和方法区组成. 程序计数器 程序计数器在Java内存中占据的空间比较小, ...

  3. java 代码重用需要注意的事项_程序员笔记|编写高性能的Java代码需要注意的4个问题...

    一.并发 无法创建新的本机线程...... 问题1:Java的中创建一个线程消耗多少内存? 每个线程有独自的栈内存,共享堆内存 问题2:一台机器可以创建多少线程? CPU,内存,操作系统,JVM,应用 ...

  4. Java show两个整数加减_怎么样用java编写界面实现两个数的加法运算

    展开全部 import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ...

  5. 用java和mysql开发网站怎么实现_如何用java开发一个网站?

    java语言和类库:java语言是支持整个java技术的底层基础,java类库是随java语言 Java 运行系统:主要指java虚拟机,负责将java与平台无关的中间代码翻译成本机的 Java ap ...

  6. java JLabel改变大小后如何刷新_到底一行java代码是如何在计算机上执行的

    不知道你是否思考过,每次我们在IDEA中右键Run Application启动主方法,假如程序运行正常,控制台也打印出了你所要打印的信息,在这个过程中你知道这台计算机上那些硬件及其软件都是以什么样的方 ...

  7. java程序实现可移植性依靠的是_什么是JAVA的可移植性

    JAVA的可移植性: 1.JAVA作为一种编程语言:源代码可移植性 作为一种编程语言,JAVA提供了一种最简单同时也是人们最熟悉的可移植性–源代码移植.这意味着任意一个JAVA程序,不论它运行在何种C ...

  8. JAVA类加载对字节码的处理_深入理解Java虚拟机(类文件结构+类加载机制+字节码执行引擎)...

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 周志明的< ...

  9. java将输出结果写入csv文件_如何在Java中将数据写入.csv文件?

    名为OpenCSV的库提供API来从.CSV文件读取数据或将数据写入.CSV文件.此处说明了如何使用Java程序写入.csv文件的内容. Maven依赖 com.opencsv opencsv 4.4 ...

最新文章

  1. Ubuntu mysql数据库导入sql文件
  2. SPSS数据记录的选择(Select Cases)
  3. 一文教你搞定变频器的安装、原理、接线、维护及故障处理
  4. 【Java Lambda表达式】Lambda表达式详解、Lambda表达式的等效使用方式、多线程
  5. 如何自行查找SAP ERP的物料主数据和CRM产品主数据的映射关系
  6. 关于Breeze's MapHack 2.0的一些重要说明
  7. 服务器 自检 修改,检查多台服务器初始密码是否修改的shell脚本
  8. 自学软件测试!自学到什么程度可以出去找工作...拿到阿里offer才知道这就够用了...
  9. 使用Python查看并显示图像
  10. 查看Andriod内置浏览器WebView版本
  11. 2021 绩效管理必读
  12. C++实现各种进制转换
  13. flashpaper java_使用FlashPaper 实现JSP在线阅读
  14. 3G模块SIM5360E实现拨号上网功能
  15. pytorch——梯度计算
  16. 旧时光的伤感日志:我们的转身,泪倾城
  17. php 开启dcom,快速解决PHP调用Word组件DCOM权限的问题讲解
  18. 2021-01-17
  19. 升级tomcat导致静态资源报错400
  20. HTML5使用JavaScript控制<audio音频的播放

热门文章

  1. 【千奇百怪】java自定义spotbugs检测器
  2. 时间序列(time serie)分析系列之Prophet6
  3. 硬盘目录损坏是什么原因?怎么恢复文件?
  4. LINUX卸载Oracle
  5. DOM操作之getAttribute方法
  6. 【转载】Windows系统电脑通过命令msinfo32查看系统信息
  7. 2021年中国盲人按摩机构数量及从业人员数量分析[图]
  8. [数理统计] 分布族谱图
  9. MySQL数据类型-整数类型
  10. ChatGPT炒股:批量下载北交所上市公司的招股说明书