用java代码,如何在单击计算器数字键的同时去掉已存在的零?

如题所述

我就粗略的说一下:

Button num1 = new Button("1");
TextField txt = new TextField();

num1.addActionListener(this);

public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand() == "1" )
{
if (txt.getText().equals("0") && txt.getText().length() == 1) // 如果文本框中有且仅有一个零
txt.setText(""); // 清空
txt.setText(txt.getText()+1); // 然后 + 1 ,为什么要用 txt.getText()+1 ,方便你后面输入!
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-06
给文本框重新赋值,把每次点击都可以对数值进行操作,数值操作完成后,把值赋给文本框就可以了。 不是使用点击按键后,在string后面直接添加数字。而是原来是数值×10,再加上刚刚点击的数。追问

不是很明白,能直接用代码解释一下吗?

追答

比如说,获取原先的String值,Double.valueOf(Textfile.getText()).doubleValue(),这个用来获取文本框中已经存在的数值,并转换成了double型。将获取到的结果×10,在加上刚刚点击的数字,赋给文本框(用在无小数的时候)。
textFile.setText(“”+(Integer.valueOf(textFile.getText()).intValue()*10+newNumber));这里的textFile就是你的文本框,newNumber就是刚刚点击的数,这是一种方法。但是这是相对应整型的操作,如果操作中含有小数就得换种方法了。楼下的方法不错,试用于两种数,不过最好还要进行下小数点判断,以防出现多个小数点。
只想去掉前面的0的话可以直接setText(),方法好像可以直接覆盖掉前面的结果,不需要清零操作。