我想用java编一个计算器,面向对象编程
用计算器时,一般先要输入一个数,然后选择一个法则的键,然后再输入一个数,再按等于键。比如2+3=,我不明白如何处理“+”这个事件?算加法要两个数啊,如何处理呢?还有一个问...
用计算器时,一般先要输入一个数,然后选择一个法则的键,然后再输入一个数,再按等于键。比如2+3=,我不明白如何处理“+”这个事件?算加法要两个数啊,如何处理呢?
还有一个问题,我现在学习java三个月,感觉java和c没什么区别,我感觉c导入的是头文件,而java导入的是包,c和java都有main函数,都是程序的入口,只不过java把c中的函数改了一个名字叫类和方法,都是先定义一些变量,然后是一些语句。
书上说面向对象语言与面向过程语言相比,可移植性好,还有封装,继承的优点,我觉得这些都是和类有关的,是不是说,除了类以外,面向对象和面向过程语言没有什么区别呢?
最近提问多,答题少,分不多了,就先给20分吧,希望各位GG,JJ能给我细致解释以上的问题,谢谢了。 展开
还有一个问题,我现在学习java三个月,感觉java和c没什么区别,我感觉c导入的是头文件,而java导入的是包,c和java都有main函数,都是程序的入口,只不过java把c中的函数改了一个名字叫类和方法,都是先定义一些变量,然后是一些语句。
书上说面向对象语言与面向过程语言相比,可移植性好,还有封装,继承的优点,我觉得这些都是和类有关的,是不是说,除了类以外,面向对象和面向过程语言没有什么区别呢?
最近提问多,答题少,分不多了,就先给20分吧,希望各位GG,JJ能给我细致解释以上的问题,谢谢了。 展开
9个回答
展开全部
楼上的计算器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就是你要的结果了
除法,小数点等等很多功能做得不全.
楼主要源代码的话,留个邮箱,我发给你.
我刚做了一个很基础的计算器.
我的做法是建一个类,来缓存你输入的数据
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+3='的话,处理是很简单的,如果是'2+3'后再点'+'呢?这时可以引入一个属性来纪录符号,每次点'+','-'等的时候判断符号是否存在,如果存在,则运算[记住,每次进行'='操作后就把符号置空!])
写计算器是很有意思的,你会发现很多问题,甚至是个无底洞..但是,都会有办法解决!!!
第二个问题:面向对象和面向过程语言没有什么区别呢?
你也知道,面向对象有类这个概念.你试想一下,如果把所以的java代码都写在一个类里会是怎样???
移植,封装,继承……这些都是面向对象语言所独有的,你觉得没区别,那只能说明你还不知道这些特性的作用.
一切皆对象. --<<Thinking in java>>
面向对象的思想,要几个月才能熟悉,你该去看看上面这本书了...
为什么你只停留在'+'这个运算符上呢?想想,运算是在哪一步发生的呢?
对了!!是在点击'='时....
(如果只是'2+3='的话,处理是很简单的,如果是'2+3'后再点'+'呢?这时可以引入一个属性来纪录符号,每次点'+','-'等的时候判断符号是否存在,如果存在,则运算[记住,每次进行'='操作后就把符号置空!])
写计算器是很有意思的,你会发现很多问题,甚至是个无底洞..但是,都会有办法解决!!!
第二个问题:面向对象和面向过程语言没有什么区别呢?
你也知道,面向对象有类这个概念.你试想一下,如果把所以的java代码都写在一个类里会是怎样???
移植,封装,继承……这些都是面向对象语言所独有的,你觉得没区别,那只能说明你还不知道这些特性的作用.
一切皆对象. --<<Thinking in java>>
面向对象的思想,要几个月才能熟悉,你该去看看上面这本书了...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你的程序里“+”这个键是有一个名称的对吗?比如给一个“add”。当你点击这个“+”键时,这个“add”就传到了后台,判断是add时,需要相加的两个数字,用"+"这个运算符进行连接就OK了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,我们一块进步吧,
对于java和c我不敢评论那个更好用那个不好用,毕竟自己也是刚学。
不过有一点c永远也比不上java
那就是开源
现在这年头,一般是谁开源谁就有前途 特别烂的东西就不说了
对于java和c我不敢评论那个更好用那个不好用,毕竟自己也是刚学。
不过有一点c永远也比不上java
那就是开源
现在这年头,一般是谁开源谁就有前途 特别烂的东西就不说了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
计算器这样的题课本上都会有的.
你看看书上是怎么写的就行了
你看看书上是怎么写的就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询