这是我做的一个java计算器小程序,虽然屡经修改但不知道还有没有错的地方,叫我同学帮忙挑挑bug,他们都忙着玩游戏呢,哎,看来得求助于大家了,我是诚心找大家帮忙挑错误的,找出一个bug给10分,毕竟只有不断发现错误才能不断改进嘛!另外要是大家知道怎么改正这个错误,也请一并回复,给15分.我的JDK版本是1.6,也许刚运行的时候图形界面不能完整显示,可以把第37行改一改(我代码里面有提示的),再把窗口拖拉一下,或者最小化再最大化,就能显示出完整的界面了.试了好多电脑都有这种毛病,看来java对图形的支持不够好吧.由于代码稍微有点长,贴在这里可能贴不下,或者层次不是很清楚,我就把它放在我blog里了.
地址:http://blog.csdn.net/tanlingyun/archive/2007/05/09/1602014.aspx

解决方案 »

  1.   

    帮你那个改了几个地方,你对照看吧:
        ...
        static JPanel panel = new JPanel(new GridLayout(4, 4, 5, 5));
        static JPanel panel2 = new JPanel(new GridLayout(1, 2, 5, 5));
        static JPanel panelMain = new JPanel(new BorderLayout());
        static JButton[] button = new JButton[18]; 
        ...
               frame.setTitle("Calculator");
            //frame.setLayout(null);
           
            frame.addWindowListener(new WindowAdapter()
            {
                    public void windowClosing(WindowEvent e)
                    {
                        System.exit(0);
                    }
            });
            ...
            panel2.add(button[16], 0);
            panel2.add(button[17], 1);        panelMain.add(label,BorderLayout.NORTH);
            panelMain.add(panel,BorderLayout.CENTER);
            panelMain.add(panel2,BorderLayout.SOUTH);
            frame.add(panelMain);
           
            frame.setSize(290, 320);
            frame.setVisible(true);
            frame.setResizable(false); //若程序无法显示完整的图形界面,可将它设为true
            
            
            for(i = 0; i < 18; i++)
            {
            ...
    你把所有东西都写在一个类里,有点乱,不怎么好
      

  2.   

    当有计算结果显示时再按正负号键,负号没有显示出来。这和windows的不一样。
      

  3.   

    应该是java的问题吧:0.6*6=3.599999996
      

  4.   

    建议楼主单步调试自己找bug这样对自己编程很有好处的,
      

  5.   

    0.6 * 6 = 3.599999996这确实是个大问题,我接收的数据是以Double型存在的,不知道把它改成什么类型既能接收比较大的数,结果又不会出错.希望指教!