java基础项目

您所在的位置:网站首页 计算器设定了怎么返回 java基础项目

java基础项目

2024-06-01 08:27| 来源: 网络整理| 查看: 265

简单计算器的设计与实现

本项目我已开源,感兴趣的可以去 gitee Calculator简单计算器 下载源码。

练习java代码基础用,应付平时作业应该够了。

简介

在这个数字化的时代,计算器成为了我们日常生活中不可或缺的工具之一。无论是学生进行数学计算,还是财务人员处理账目,都离不开计算器的辅助。本文将介绍一个简单的计算器应用程序的设计与实现过程,该程序使用了Java语言开发,具有基本的混合四则运算功能,并且支持负数和一些高级运算符的使用。

运行演示截图:

结果为-31.0       不信大家可以验证验证

逻辑实现 采用事件驱动编程模型,响应用户的点击事件。使用字符串来记录输入的表达式,并在点击等号按钮时进行计算。实现一个算法来将中缀表达式转换为后缀表达式,然后对后缀表达式进行计算以得到结果。通过异常处理机制来捕获和处理可能发生的错误,如除以零等。 程序架构

该计算器程序主要由以下几个部分组成:

MainFrame - 主窗体类,负责界面的显示和用户的交互。MainCalculator - 主程序入口类,用于启动计算器。Test - 测试类,用于测试程序的各个部分是否正常工作。MTool - 工具类,包含了从中缀表达式转后缀表达式,以及对后缀表达式进行计算的方法。 主窗体设计 使用Swing组件构建界面,包括按钮、文本框等。设计一个简洁明了的布局,使用户能够轻松地找到并使用所需的功能。使用图标和颜色来增强视觉效果,提高用户体验 MainFrame 类

MainFrame 类继承自 JFrame,是计算器的主窗体。它包含了以下关键部分:

成员变量:包括用于存储显示内容的字符串、后台处理字符串、按钮数组等。静态代码块:用于加载计算器的图标资源。构造函数:初始化窗体,设置标题、图标、默认关闭操作等,并调用绘图和事件监听的方法。绘图方法:负责绘制计算器的界面,包括数字和操作符按钮的布局。事件监听:为每个按钮添加动作监听器,当用户点击按钮时,会触发相应的操作。字符串处理:将用户的操作映射到显示字符串和后台处理字符串上,进行相应的运算逻辑处理。运算逻辑:对后台字符串进行处理,包括中缀转后缀和后缀表达式的计算。 关键代码块

以下是 MainFrame 类中的关键代码块:

// 静态代码块,加载计算器图标资源 static {     try {         img = ImageIO.read(new File("resource//image//apap.jpg"));     } catch (IOException e) {         e.printStackTrace();     } } // 构造函数,初始化计算器窗体 public MainFrame() {     initFrame();     redrawUI();     ClickService();     setVisible(true); } // 事件监听,响应按钮点击 private void ClickService() {     for (JButton button : buttons) {         button.addActionListener(e -> {             Maping(button.getText());         });     } } // 字符串处理,处理用户输入 private void Maping(String buttontext) {     // ... 省略部分代码 ...     if (!"=".equals(buttontext) && !"AC".equals(buttontext)) {         // ... 省略部分代码 ...         MainFrame.this.jisuanString += temp;     } else {         // ... 省略部分代码 ...         if ("=".equals(buttontext)) {             Foperations(this.jisuanString);             this.jisuanString = this.displayString;             MainFrame.this.redrawUiP1();         }         if ("AC".equals(buttontext)) {             MainFrame.this.displayString = " ";             MainFrame.this.jisuanString = "";             MainFrame.this.redrawUiP1();         }     } } // 运算逻辑,中缀转后缀和后缀表达式的计算 private void Foperations(String str) {     // ... 省略部分代码 ...     String replace = str.replace("$($$-", "$($0$-").replace("$sqrt$", "$^$0.5$").replace("$$", "$");     // ... 省略部分代码 ... } 工具类实现 MTool 类

MTool 类是一个工具类,它提供了两个核心方法:

InfixTosuFfix:将中缀表达式转换成后缀表达式。FfixCalculate:对后缀表达式进行计算,并返回计算结果。 关键代码块

以下是 MTool 类中的关键代码块:

// 用于中缀表达式转后缀表达式 public static ArrayList InfixTosuFfix(String[] splitll) { // ... 省略部分代码 ... for (String s : splitll) { // ... 省略部分代码 ... if (!Nofu(s, you)) { arrayList.add(s); continue; } // ... 省略部分代码 ... } return arrayList; } // 用于对后缀表达式进行计算 public static String FfixCalculate(ArrayList arrayList) { // ... 省略部分代码 ... for (String s : arrayList) { // ... 省略部分代码 ... if (!Nofu(s, yuo) && stack2.size() > 1) { // ... 省略部分代码 ... fuyunsuan(stack2, s, aa, bb); } } return stack2.peek(); } // 判断是否该是运算符号 public static boolean Nofu(String str, String[] strs) { for (String s : strs) { if (str.equals(s)) return false; } return true; } // 根据符号进行对应的运算 static private void fuyunsuan(Stack stack2, String temp, double aa, double bb) { switch (temp) { case "+": stack2.push(String.valueOf(bb + aa)); break; // ... 省略其他运算符的代码 ... } } 用户体验

该计算器程序提供了一个直观的用户界面,用户可以通过点击按钮来输入数字和运算符,并在屏幕上看到实时的计算过程。当用户点击等号按钮时,程序会显示最终的计算结果。此外,程序还提供了清空功能,方便用户重新开始新的计算。

总结

本文介绍了一个基于Java的简单计算器的设计与实现。通过这个项目,我们可以看到如何使用Java Swing库来创建用户界面,并处理用户的输入事件。同时,我们也学习了如何将中缀表达式转换为后缀表达式,并进行计算。这个项目可以作为学习Java编程和理解计算器工作原理的一个良好示例。点赞点赞>_



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3