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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想用java编一个计算器,面向对象编程相关的知识,希望对你有一定的参考价值。

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

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

我记得我们学c的时候,书上就有计算器的例子……
我刚学java的时候也带着排斥的心情,觉得没差什么啊
后来发现我错了
java是面向对象,一定要记住这点,好好理解
如何处理“+”,你可以用一个变量记录选择的是什么运算,比如1就代表+,当你点了+的按钮,就改变这个变量的值,当你两个数全部输入好的时候,在处理运算的方法中,通过判断这个变量的值做不同的处理
参考技术A 楼上的计算器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就是你要的结果了
参考技术B 第一个问题:如何处理“+”这个事件?
为什么你只停留在'+'这个运算符上呢?想想,运算是在哪一步发生的呢?
对了!!是在点击'='时....
(如果只是'2+3='的话,处理是很简单的,如果是'2+3'后再点'+'呢?这时可以引入一个属性来纪录符号,每次点'+','-'等的时候判断符号是否存在,如果存在,则运算[记住,每次进行'='操作后就把符号置空!])
写计算器是很有意思的,你会发现很多问题,甚至是个无底洞..但是,都会有办法解决!!!

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

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

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

Java oop

这个是什么意思啊?? 讲的是什么东西啊?、 哪位高人告诉下

OOP: Object Oriented Programming,面向对象的程序设计。所谓“对象”就是一个或一组数据以及处理这些数据的方法和过程的集合。面向对象的程序设计完全不同于传统的面向过程程序设计,它大大地降低了软件开发的难度,使编程就像搭积木一样简单,是当今电脑编程的一股势不可挡的潮流。
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。OOP 主要有以下的概念和组件:
组件 - 数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和结构化的基础。
抽象性 - 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。
封装 - 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。
多态性 - 组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型。
继承性 - 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。
由于抽象性、封装性、重用性以及便于使用等方面的原因,以组件为基础的编程在脚本语言中已经变得特别流行。Python 和 Ruby 是最近才出现的语言,在开发时完全采用了 OOP 的思想,而流行的 Perl 脚本语言从版本5开始也慢慢地加入了新的面向对象的功能组件。用组件代替“现实”上的实体成为 JavaScript(ECMAScript)得以流行的原因,有论证表明对组件进行适当的组合就可以在英特网上代替 HTML 和 XML 的文档对象模型(DOM)。
参考技术A OOP 意思是 面向对象的程序设计

讲的内容大概就是,万物皆对象

所有的事情或物体,都可以用JAVA中的对象来表达

可以参考:
http://baike.baidu.com/view/63596.htm
参考技术B 即java 面向对象编程
OOP是Object Oriented Programming的缩写

以上是关于我想用java编一个计算器,面向对象编程的主要内容,如果未能解决你的问题,请参考以下文章

面向过程&面向对象

关于java基础面试题(小编自行整理)

面向对象编程

Javascript 面向对象编程:封装

[python]两种编程思维--面向过程和面向对象

第八篇:面向对象编程