我想用java编一个计算器,面向对象编程

用计算器时,一般先要输入一个数,然后选择一个法则的键,然后再输入一个数,再按等于键。比如2+3=,我不明白如何处理“+”这个事件?算加法要两个数啊,如何处理呢?
还有一个问题,我现在学习java三个月,感觉java和c没什么区别,我感觉c导入的是头文件,而java导入的是包,c和java都有main函数,都是程序的入口,只不过java把c中的函数改了一个名字叫类和方法,都是先定义一些变量,然后是一些语句。
书上说面向对象语言与面向过程语言相比,可移植性好,还有封装,继承的优点,我觉得这些都是和类有关的,是不是说,除了类以外,面向对象和面向过程语言没有什么区别呢?

最近提问多,答题少,分不多了,就先给20分吧,希望各位GG,JJ能给我细致解释以上的问题,谢谢了。

我记得我们学c的时候,书上就有计算器的例子……
我刚学java的时候也带着排斥的心情,觉得没差什么啊
后来发现我错了
java是面向对象,一定要记住这点,好好理解
如何处理“+”,你可以用一个变量记录选择的是什么运算,比如1就代表+,当你点了+的按钮,就改变这个变量的值,当你两个数全部输入好的时候,在处理运算的方法中,通过判断这个变量的值做不同的处理
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-12-10
楼上的计算器bug多多啊
除法,小数点等等很多功能做得不全.
楼主要源代码的话,留个邮箱,我发给你.
我刚做了一个很基础的计算器.
我的做法是建一个类,来缓存你输入的数据
class A{
String sss="";
public A(){
}
public void setS(String sss){
this.sss=sss;
}
public String getS(){
return this.sss;
}
然后你可以定义3个对象a,b,c,2+3=
第一个放入2; a.getS(你输入的2数字);
第二个放入+; +号按钮的功能就是赋值给b为"+"
第三个放入3; c.getS(你输入的3数字);
然后在=号的事件处理中,检查第b是否为+号,如果是
就执行
BigDecimal a1 = new BigDecimal(a.getS());

BigDecimal c2 = new BigDecimal(c.getS());
a1+c2就是你要的结果了
第2个回答  2007-12-07
第一个问题:如何处理“+”这个事件?
为什么你只停留在'+'这个运算符上呢?想想,运算是在哪一步发生的呢?
对了!!是在点击'='时....
(如果只是'2+3='的话,处理是很简单的,如果是'2+3'后再点'+'呢?这时可以引入一个属性来纪录符号,每次点'+','-'等的时候判断符号是否存在,如果存在,则运算[记住,每次进行'='操作后就把符号置空!])
写计算器是很有意思的,你会发现很多问题,甚至是个无底洞..但是,都会有办法解决!!!

第二个问题:面向对象和面向过程语言没有什么区别呢?
你也知道,面向对象有类这个概念.你试想一下,如果把所以的java代码都写在一个类里会是怎样???
移植,封装,继承……这些都是面向对象语言所独有的,你觉得没区别,那只能说明你还不知道这些特性的作用.

一切皆对象. --<<Thinking in java>>
面向对象的思想,要几个月才能熟悉,你该去看看上面这本书了...
第3个回答  2007-12-07
在你的程序里“+”这个键是有一个名称的对吗?比如给一个“add”。当你点击这个“+”键时,这个“add”就传到了后台,判断是add时,需要相加的两个数字,用"+"这个运算符进行连接就OK了。
第4个回答  2007-12-12
呵呵,我们一块进步吧,
对于java和c我不敢评论那个更好用那个不好用,毕竟自己也是刚学。
不过有一点c永远也比不上java
那就是开源
现在这年头,一般是谁开源谁就有前途 特别烂的东西就不说了
第5个回答  2007-12-07
计算器这样的题课本上都会有的.

你看看书上是怎么写的就行了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网