永发信息网

java计算器,如果初始状态是0那么再输入其他数字时,把0覆盖掉。例如0,输入6,显示"6",而不是"06"

答案:5  悬赏:70  手机版
解决时间 2021-12-22 01:11
  • 提问者网友:十年饮冰
  • 2021-12-21 19:43
private class ButtonAction implements ActionListener{
public void actionPerformed(ActionEvent e){
String Num = e.getActionCommand();

if(Num == "C"){
textField.setText("0");
}

else if(Num == "0"){

if(textField.getText() == "0"){
textField.setText(Num);
}
else{
Num = textField.getText() + Num;
textField.setText(Num);
}
}

else if(Num == "1"){
if(textField.getText() == "0"){

textField.setText(Num);
}
else {
Num = textField.getText() + Num;
textField.setText(Num);
}
}
}
一小段代码。。
比如先输入个0,然后再输入1,显示的是01,不知哪里出错了。。
最佳答案
  • 五星知识达人网友:举杯邀酒敬孤独
  • 2021-12-21 20:48
Num = textField.getText() + Num;
这里如果 textField.getText() 获取到的是 0
Num 为输入的 1
textField.getText() + Num 这里不会进行运行 0+1=1
而是 "0"+"1"="01" 字符串拼接
全部回答
  • 1楼网友:神的生死簿
  • 2021-12-22 00:08
不会
  • 2楼网友:持酒劝斜阳
  • 2021-12-21 23:13
代码全部贴出来
  • 3楼网友:摆渡翁
  • 2021-12-21 22:19
这段代码挺糟糕的,逻辑太复杂(太多的if else, 这样程序的分支太多,容易出错),而且基本就是面向过程去做。具体问题就是java里面,字符串的内容比较不能用==来判断, == 只能判断这两个字符串是不是指向同一个对象。想判断字符串内容是不是相等,最好用equals方法。
  • 4楼网友:刀戟声无边
  • 2021-12-21 22:05
你好! java代码在编写时有很多免费的IDE工具,比如java编写最常用的Eclipse等,在Eclipse里面,学会有debug工具去逐行跟踪自己的代码,发现问题、优化逻辑。 如果对你有帮助,望采纳。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯