刚上CSDN时看到别人写《学习JAVA三个月写 的计算器程序》 ,觉的那人很牛,虽然那个程序不健壮,但我还是很佩服那个作者,现在我学JAVA二个月 了(过年时休了半个月),刚学了一点GUI的知识,就也写了一个计算器的程序,比那个人写的好多了,程序安全,健壮,小数点问题也解决,和Windows XP 里的计算器(标准型),功能上是一样的,可以输入 :2+3+5+6+8-8*8/ 8   ,5*6======,多输小数点也行。
代码361行,这里放不下, 请进我的Blog
http://blog.csdn.net/elf8848/archive/2007/03/06/1522448.aspx

解决方案 »

  1.   

    比那个人写的好多了,程序安全,健壮?????really?
    1-2+3计算结果为6
      

  2.   

    楼主说:liuccc1(畅畅) 说的对, 现在以改好了, 1-2+3=2了, 谢谢了,
      

  3.   

    晕    我学vb半个月(之前学过半个月asp教程)就写了个计算器,虽然功能不够健壮,只能进行四则运算,但是也不错嘛        如果要翻译成java程序的话       估计也不要两个小时吧
      

  4.   

    有动力就好,恭喜楼主,继续努力,java的路还长着呢。
      

  5.   

    对:rypgood(失魂) 说:vb和java有着很大不同,用vb做一个用户图型界面,只要拖拽几个控件就可以做出很好看的界面了。java在这方面,就没有vb 方便了。
    其实这些不用比,也没有可比性,各有各的优长,各有各的实用须求。
    chairmanwei() 说的对 :java的路还长着呢。
      

  6.   

    其实呢java\vb都没关系的        搞个界面那是算法外的事情了
      

  7.   

    我用JCreator Pro 4.00.025编译,出现以下讯息:
    --------------------Configuration: <Default>--------------------
    C:\WINDOWS\Temp\Calculator.java:10: class Tuo is public, should be declared in a file named Tuo.java
    public class Tuo
           ^
    Note: C:\WINDOWS\Temp\Calculator.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    1 errorProcess completed.
      

  8.   

    吹毛求疵一下,LZ别介意:
    健壮?
    1.输入3.1415926535897932384,按=号-〉结果是什么?觉得这样好吗?
    2.在1的基础上()输入一个运算符,再按=号-〉结果是什么?
    3.结果框可以编辑,可以输入q-98=-〉结果是什么?当然,这个处理也可以说对了。但如果我其实是想输入1-98=的呢(看到LZ想设等效键了) 由于可以编辑,还有输入任意字符来运算,....
    (号称可以运算2+3+5+6+8-8*8/ 8,那么直接在里面输入2+3+5+6+8-8*8/ 8,会有什么结果呢)
    4.可能是习惯了现实的计算器:觉得“清除”的把显示屏清除成一片空白吗?
    5.1/0==0?
    以上,bug~
    一下,设计:
    1.这么个功能的东西,需要这么的状态么?我以为2+2/1就够了呢:不记得了~
    2.实现简单的东西,就想的全面一点嘛。不要才考虑那么几种情况就说它健壮了哦
    3.java OO?就这么样吧
    只是看楼主好像有点...了,没别的意思
    说得不好,大家尽情的BS我吧
      

  9.   

    1.输入3.1415926535897932384,按=号-〉结果是0.0   正在找原因
    ->
    输入之前先按一下“清除”再看看:“清除”-〉[数字]-〉按=号-〉运算符-〉按=号
    Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: empty String
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:994)
    at java.lang.Double.valueOf(Double.java:447)
    at test.Calculator.yuns(Calculator.java:324)
    at test.Calculator$1JianTing_dy.actionPerformed(Calculator.java:225)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
    at java.awt.Component.processMouseEvent(Component.java:5488)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
    at java.awt.Component.processEvent(Component.java:5253)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3955)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1774)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
      

  10.   

    有个问题,,按 1 + -  2 = 结果是 3 实际是 要的结果是-1 ,
    另外没有清除按错的数字的功能,,backspace
    这些功能在xp里的计算器有
      

  11.   

    楼主加油。楼上的既是鼓励也是鞭策。祝楼主早日成为优秀的程序员……OMG……又一个进围城的人……
      

  12.   

    我也在学java,正在做计算器,原来是这么难啊,要好好努力了啊
      

  13.   

    楼主做得不错,但是得扎实学JAVA。
    BUG多!没关系,BUG可以改。