当前位置:编程学习 > JAVA >>

求java计算器编写思路

本人初学java,想写一个计算器,奈何一直不知道思路,求大神们指教。不要代码,只求思路! --------------------编程问答-------------------- 不考虑连续计算(如1+2+1)的情况,只是两个数值进行基本运算
1、定义三个变量
2、将第一次按钮的值赋值个第一个变量
3、将第二个按钮的值(也就是加减乘除)赋值给第二个变量
4、将第三个按钮的值赋值给第三个变量
5、用case或者if判断第二个变量,判断是那种计算,比如是+,就直接将第一个和第三个变量相加
6、将得到的结果显示 --------------------编程问答-------------------- 用swing界面吧,画个计算机panel
数字加减乘除用jlable,
运算界面用jtext,
每当点击会获取值然后显示在jtext,生成运算字符串(或者能直接运算的量),
然后解析点击“=”按钮时对字符串做解析运行生成结果。
至于最后的运算,或者是对字符串的解析可以去查一下字符串解析相关资料很简单的 --------------------编程问答--------------------
引用 1 楼 u010863631 的回复:
不考虑连续计算(如1+2+1)的情况,只是两个数值进行基本运算
1、定义三个变量
2、将第一次按钮的值赋值个第一个变量
3、将第二个按钮的值(也就是加减乘除)赋值给第二个变量
4、将第三个按钮的值赋值给第三个变量
5、用case或者if判断第二个变量,判断是那种计算,比如是+,就直接将第一个和第三个变量相加
6、将得到的结果显示



这个方法我早前用过,思路大概跟你差不多。现在我就是想写个完整的计算器,还没有学swing,所以就只能用两个弹窗输入弹窗输出 --------------------编程问答--------------------
引用 3 楼 a305432425 的回复:
这个方法我早前用过,思路大概跟你差不多。现在我就是想写个完整的计算器,还没有学swing,所以就只能用两个弹窗输入弹窗输出

界面都没有的么...
那比如说要计算1+2+3+4,你是不是要弹出7次让用户输入? --------------------编程问答--------------------
引用 4 楼 rencht 的回复:
Quote: 引用 3 楼 a305432425 的回复:
这个方法我早前用过,思路大概跟你差不多。现在我就是想写个完整的计算器,还没有学swing,所以就只能用两个弹窗输入弹窗输出

界面都没有的么...
那比如说要计算1+2+3+4,你是不是要弹出7次让用户输入?

不是,比如说,弹出一个窗口,用户输入1+2,就可以得出结果为3.之中用到了split()和indexOf()两个方法。 --------------------编程问答--------------------
引用 5 楼 a305432425 的回复:
不是,比如说,弹出一个窗口,用户输入1+2,就可以得出结果为3.之中用到了split()和indexOf()两个方法。

那就是表达式的解析计算咯,编译原理里面的中缀表达式,前缀表达式能帮到你 --------------------编程问答-------------------- 当初我的第一个小项目也是计算器,先把UI设计好,再加上Listerner,再去处理数据。。。。 --------------------编程问答-------------------- 比如输入的是1+2,首先找到+的位置就行了
当然也可能是其他运算符号,如果只有加减乘除,而且保证用户输入正确的情况下
可以直接indexOf()查找位置,分别查找+-*/的,不为-1的就是你要的符号
剩下的就好办了吧。根据符号位置得到两个数字。 --------------------编程问答-------------------- 想做出产品级别的计算器,必须花一定的时间去练习正则表达式、表达式二叉树,Swing的知识现学现用。 --------------------编程问答-------------------- 如果不考虑设计模式,不如不做 --------------------编程问答-------------------- 你是想做一个街边20块的计算器呢还是想做Mathematica? --------------------编程问答-------------------- 先用Swing +ActionListener做出计算器的样子
 第一步:现在输入数字+运算符(+ - * /)
 第二步:运算验证问题 1.输入判断(整数不可0开头;*,/不可做开始,运算符不可连续出现),运算合理性判断2.长度有限(因为你String转int 有大小限制,不然用Big...(不记得怎么写了)) 3.你运算处理是输入框中可以输入多个运算符 最后=一次处理,还是在第二个运算符出来将前一结果得出
 第三步:结果输出
 也许上面有些地方还没考虑,你要不断去测试,这也是程序员的一个完善过程 --------------------编程问答-------------------- 这真心没什么难度! 好好想想 --------------------编程问答-------------------- 看计算器是普通的计算器还是支持字符串算式的科学计算器了
普通的计算器比较简单
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,