开发者社区> 问答> 正文

简易计算器最后结果不能出现问题

一个简易计算器程序,其界面如下图所示:
screenshot

当按下“+”按钮时,两个数值文本框之间应显示“+”号,同时相加结果显示在第三个文本框内(如下图所示)。类似处理“-”、“*”和“/”按钮。
现在第二步能够出现加号 就是不能正确运算。如下代码,注释的地方为什么不能运行,该怎么做才能做到当按下加的按钮b1时,同时出现加号和得数?这里的tf和tf1是要计算的两个数
    @Override
    public void actionPerformed(ActionEvent e) {
        Object obj=e.getSource();
        //int a=Integer.getInteger(tf.getText());
        //int b=Integer.getInteger(tf1.getText());
        //int result;
        //result=a+b;
        if(obj==b1){
            //tf2.setText(Integer.toString(result));
            l1.setText("+");
        }

    }
});

展开
收起
蛮大人123 2016-05-31 14:52:34 2313 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    现在不能设计上述的第二步
    建议采用分而治之的思想

    1--首先要进行运算,那么你就设计运算的类Operator
    它里面有 add minus等计算方法能够实现我们的运算.
    这个可以融合工厂方法模式和单例模式设计,有兴趣可以了解下

    2--为了把操作符显示到界面上面,你需要定义一个lable的控件在2个输入框之间,类似你定义的等号一样
    后面可以改变lable的值
    建议你把这个界面的表示都写在property文件中,然后程序从property文件中读取界面的表示文字。
    可以了解下程序如何读取propertiy文件的内容

    3--为了能够使按钮触发事件动起来,你要注册监听器
    可以使用你这个界面类自身充当监听器
    在你的类头处加上 implements ActionListener
    然后让button注册监听器
    plus.addActionListener(this);
    minus.addActionListener(this);

    然后实现接口方法
    public void actionPerformed(ActionEvent e){
    //加法按钮压下
    if(e.getSource()==plus){
    //先把那个lable的文字显示成这个+
    lable.setText("+");

            } else if(e.getSource == minus){
                ....
            }...
    
                    //然后读取两个text框中的数字
                    //然后调用你那个Operator类进行对应的运算
                    //把结果写到这个输出框中
    }
    2019-07-17 19:21:57
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载