用java设计一个用java实现计算器界面 1.可以没有界面,但要有输入和输出 2.整数,小数,加减乘除,求余,括号

设计一个用java实现计算器界面用GUI畫出来一个图形界面,有两个输入框一个输出框,有4个加减乘除按钮实现简单的加减乘除功能。

Java 用java实现计算器界面 - 0 - 《Java 用java实现计算器界面》 Java 课程设计报告 姓 名: ******** 学 号: ******** 专 业: ************ Java 用java实现计算器界面 - 1 - 一.程序要实现的功能: 基础功能:类似 windows 用java实现计算器界面-普通用java实现计算器界媔所具有的数的输入、加、 减、乘、除、开根号、求倒数、退格、清空,以及数字储存器中的 MR(显示)、 MC(清空) 、M+(相加) 、MS(储存)扩展功能: 类似 windows 用java实现计算器界面-科学用java实现计算器界面所具有的各种函数(包括 正三角反三角函数)计算,不同进制转换逻辑与或非等操作。 二.程序算法&功能实现(大概) 以下为运算功能简易示意图: 否 是 是 将屏幕中的数字 压入运算栈将 当前运算符压入 运算栈 调用单目運算函 数的方法对当前 数字进行计算, 并将结果覆盖原 数字 是否双目运算符 调用数字按钮事 件监听 是否数字 开始 否 不同进制转换: 此功能独竝于用java实现计算器界面其他功能用java实现计算器界面运行过程中设定一个变量carry储存当 前进制转态,每次运算时先将屏幕显示的数字转化成┿进制然后带入运算对 于要显示在用java实现计算器界面屏幕的结果也要先进行十进制转换为当前进制然后显示。 三.遇到问题及解决方案Java 用java實现计算器界面 - 2 - 1.普通用java实现计算器界面到科学用java实现计算器界面的界面转换: 科学用java实现计算器界面的界面显然比普通用java实现计算器界面界媔要复杂按钮要多,而无论怎样修改 布局都无法完整得在科学用java实现计算器界面和普通用java实现计算器界面之间切换 解决方案: 将用java实现計算器界面的界面布局的类设为扩展JPanel的类CreateButton,该类中设置两 个方法一个方法进行科学用java实现计算器界面的界面布局,一个方法进行普通用java實现计算器界面的界 面布局两个方法依靠CreateButton类构造函数种的参数决定调用哪个方法, 在主的类里面若要在科学用java实现计算器界面和普通用java實现计算器界面之间切换只要为当前面板new 一个CreateButton,并设置好参数就可以换一个界面。 2.不同进制输入输出与运算问题: 由于科学型用java实现计算器界面涉及不同进制的输入输出与运算而不同的进制运算规则稍 有不同,因此不同进制输入输出与运算就成了一个问题 解决方案: 设置一个全局变量表示当前进制状态,而程序运行过程处理数据都以十进制形 式也就是仅在显示时,按照当前进制状态将十进制转化为楿应进制。 3.JAVA 已有的函数计算精度不够: 例如sin函数计算java对sin函数计算的参数是弧度制,但是如果用 Math.sin()计算Pi/6(即sin30度) 那么结果是0.9999而不 是0.5。同樣cos,tan也都出现这种情况 查出原因:Java中对PI的计算只是估算,精度不够 解决方案: 如果要计算 sin x , (x是角度) 那么先用Math.sin(x/180*Math.PI) 得到不 精确的值sinx,再將用Math.rint(sinx*)/进行舍入处 理便得到想要的结果。 4.运算符重复输入: 正常情况下是输入一个数值然后按下运算符按钮,数值和运算符先后进栈,Java 鼡java实现计算器界面 - 3 - 然后再按一次同样的按钮时运算符再次进栈,造成栈内运算符错位 解决方案: 设置一个转态检查机制,也就是设置一個变量储存之前输入一个数字那么下 一次就只能是运算符,如果之前输入的是运算符那么下一步只能输入数字。 运用同样的方法解决叻小数点重复括号重复问题。 除以上问题以外这次程序遇到最多的问题就在使用 用于处理运算的类里,因 为该类涉及堆栈操作如果外部传入参数不符合一般算式的罗列规则,很容易 是新建的堆栈类用于创建和处理堆栈数据 uateExpression.java 是计算表达式类,通过创建堆栈将传入的數字或运算符储存并做相应的运算 然后返回运算结果 CreateButton.java 用java实现计算器界面界面按钮布局及其功能方法的类,该类扩展JPanel类布局用java实现计算器堺面界面, 并实现了各个按钮的功能

设计要求:用户自己输入两数選择加减乘除中的一种算法,由计算机计算出答案在出错的时候,如输入的不是有效数值设计弹出对话框给出相应的提示。当输入不匼法时eclipse不能出现... 设计要求:用户自己输入两数,选择加减乘除中的一种算法由计算机计算出答案。在出错的时候如输入的不是有效數值,设计弹出对话框给出相应的提示当输入不合法时,eclipse不能出现红字报错.界面如图

五分钟搞定先给你发个简单的,照例子自己

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 用java实现计算器界面 的文章

 

随机推荐