2009-12-13 28 views
-1

我正在制作一个计算器,需要让我的按钮工作,但我不知道该怎么做。我需要计算器按钮才能工作

我有2种插入数字的方法。 1)在字段中物理写入数字 2)按下一个按钮,相应的数字应出现在字段中。

我不需要+ - * /只需要1个输入。当=被点击时,我的公式(数字-1 * 1.20 +2.80)被执行。

我已经得到了一切工作。 我可以键入一个数字并得到答案,但我无法弄清楚如何让按钮来完成他们的工作。

任何帮助,将不胜感激。

谢谢

+0

为什么-1? atleast让我们知道为什么 –

+2

这是功课吗?如果是这样,你有没有被教过任何与此任务有关的基础知识? –

+0

不做作业。 我正在为出租车公司申请 –

回答

-1

感谢您的帮助。

我终于想出了一个办法,怎么做,我所做的只是增加一组并获得文字

3

您的“公式”,例如1*1.20+2.80被称为表达式。这很可能是你以某种方式输入的字符串。

执行此操作的“经典”方法是将字符串解析为令牌,在您的情况下,它将是数字或运算符。然后表达式评估者咀嚼令牌流,并得出可以显示的结果。

这是一个公平的工作。幸运的是,其他人已经做到了。我通过谷歌搜索“java expression evaluator”发现的一个例子是:http://lts.online.fr/dev/java/math.evaluator/

它比你需要的要多得多。您可以按原样使用它,也可以先使用它。


更新:获取数字按钮的工作。

String fieldContents = ""; 

JTextField field = new JTextField; 

ActionListener acLi = new ActionListener() { 
    public void actionPerformed(ActionEvent ae) { 
    JButton btn = (JButton) ae.getSource(); 
    fieldContents += btn.getText(); 
    field.setText(fieldContents); 
    } 
}; 

JButton button0 = new JButton("0"); 
button0.addActionListener(acLi); 
... 
JButton button9 = new JButton("9"); 
button9.addActionListener(acLi); 

这应该主要是这样做的。请享用!

+0

你没有给我们一大堆代码来处理!在我的答案中看到即将更新。 –

+0

此刻我唯一按下的代码位是 private javax.swing.Jbutton btn0; 和私人无效btn0ActionPerformed(java.awt.event.ActionEvent evt) –

+1

我不喜欢被指责(事实上,是的,我这样做),但是在学习Java编程的基础知识之前,这不是一个好主意吗? *承担这项工作? –