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,不知哪里出错了。。
java计算器,如果初始状态是0那么再输入其他数字时,把0覆盖掉。例如0,输入6,显示"6",而不是"06"
答案:5 悬赏:70 手机版
解决时间 2021-12-22 01:11
- 提问者网友:十年饮冰
- 2021-12-21 19:43
最佳答案
- 五星知识达人网友:举杯邀酒敬孤独
- 2021-12-21 20:48
Num = textField.getText() + Num;
这里如果 textField.getText() 获取到的是 0
Num 为输入的 1
textField.getText() + Num 这里不会进行运行 0+1=1
而是 "0"+"1"="01" 字符串拼接
这里如果 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工具去逐行跟踪自己的代码,发现问题、优化逻辑。
如果对你有帮助,望采纳。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯