java 仿计算器_Java课程设计----仿Windows标准型计算器

2023-11-10 23:10

本文主要是介绍java 仿计算器_Java课程设计----仿Windows标准型计算器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

JAVA课程设计

仿Windows标准型计算器(By Yanboooooooo)

一、团队介绍:

连燕波[组长]:网络1513学生。

张文博[组员]:网络1513学生。

二、项目git地址

三、项目git提交记录截图

08dc81d5b83acb450ec7a026fa370242.png

四、项目主要使用技术

JFrame

五、项目其余特点

一个计算器,与Windows附件自带计算器的标准版功能、界面相仿。

实现基本的数字运算

较传统计算器,使用和携带起来方便。

六、项目功能架构图与主要功能流程图

147a4d03627b3e9dfa2a9ea3eed04034.png

七、项目运行截图

界面

b296d80ba17364bd74b3b2733bd41ad6.png

八、项目关键代码

/**

* @author Yanboooooooo

* CE、退格、C功能键

*/

private void ClearEnterButtonActionPerformed(java.awt.event.ActionEvent evt) {

resultText.setText("0");

}

private void BackspaceButtonActionPerformed(java.awt.event.ActionEvent evt) {

String text = resultText.getText();

int i = text.length();

if (i > 0) {

// 退格,将文本最后一个字符去掉

text = text.substring(0, i - 1);

if (text.length() == 0) {

// 如果文本没有了内容,则初始化计算器的各种值

resultText.setText("0");

firstDigit = true;

operateCommand = "=";

} else {

// 显示新的文本

resultText.setText(text);

}

}

}

private void ClearButtonActionPerformed(java.awt.event.ActionEvent evt) {

resultText.setText("0");

firstDigit = true;

operateCommand = "=";

}

/**

* @author Yanboooooooo

* 加减乘除

*/

private void DivideButtonActionPerformed(java.awt.event.ActionEvent evt) {

operateCommand = "/";

op1 = Double.parseDouble(resultText.getText());

//System.out.println("op1="+op1);

firstDigit = true;

}

private void MultiplyButtonActionPerformed(java.awt.event.ActionEvent evt) {

operateCommand = "*";

op1 = Double.parseDouble(resultText.getText());

firstDigit = true;

}

private void SubtractButtonActionPerformed(java.awt.event.ActionEvent evt) {

operateCommand = "-";

op1 = Double.parseDouble(resultText.getText());

firstDigit = true;

}

private void AddButtonActionPerformed(java.awt.event.ActionEvent evt) {

operateCommand = "+";

op1 = Double.parseDouble(resultText.getText());

firstDigit = true;

}

/**

* @author Yanboooooooo

* 数字键0-9

*/

private void B1ButtonActionPerformed(java.awt.event.ActionEvent evt) {

String key = "1";

//标识符firstDigit 判断是否是输入数字的第一位

if (firstDigit) {

resultText.setText(key);

//对于小数点的判断

} else if ((key.equals(".")) && (resultText.getText().indexOf(".") < 0)) {

resultText.setText(resultText.getText() + ".");

} else if (!key.equals(".")) {

resultText.setText(resultText.getText() + key);

}

//之后的数字一定不是第一个输入数字

firstDigit = false;

}

/**

*@author Yanboooooooo

* M功能键

*/

private void MemorySaveButtonActionPerformed(java.awt.event.ActionEvent evt) {

operateCommand = "MS";

double op2 = Double.parseDouble(resultText.getText());

memory = op2 ;

}

private void MemoryAddButtonActionPerformed(java.awt.event.ActionEvent evt) {

operateCommand = "M+";

double op2 = Double.parseDouble(resultText.getText());

resultText.setText((op2 + memory) +"");

memory = op2+ memory;

}

private void MemoryRecallButtonActionPerformed(java.awt.event.ActionEvent evt) {

operateCommand = "MR";

resultText.setText(memory + "");

}

private void MemoryClearButtonActionPerformed(java.awt.event.ActionEvent evt) {

operateCommand = "MC";

memory = 0 ;

}

九、尚待改进或者其他想法

代码结构有待优化。

时间有限,能继续改进为科学型计算器。

十、团队成员任务分配,团队成员课程设计博客链接(以表格形式呈现),标明组长

任务分配:

连燕波:主要图形界面的排版,添加按键的事件监听,功能函数的编写。

张文博:按键代码编写,主要图形界面的设计,测试运行。

这篇关于java 仿计算器_Java课程设计----仿Windows标准型计算器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/385896

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配