【发布时间】:2016-02-29 07:02:54
【问题描述】:
我正在尝试创建一个将八进制值转换为二进制值的计算器。
temp = txt.getText();
temptemp = "";
if (prev == 3) {
for (int i = 0; i < temp.length() - 1; i++) {
if (temp.charAt(i) == '1') {
temptemp = temptemp + "000";
} else if (temp.charAt(i) == '2') {
temptemp = temptemp + "001";
} else if (temp.charAt(i) == '3') {
temptemp = temptemp + "010";
} else if (temp.charAt(i) == '4') {
temptemp = temptemp + "011";
} else if (temp.charAt(i) == '5') {
temptemp = temptemp + "100";
} else if (temp.charAt(i) == '6') {
temptemp = temptemp + "101";
} else if (temp.charAt(i) == '7') {
temptemp = temptemp + "111";
}
}
temp = temptemp;
txt.setText(temp);
我的循环语句有什么问题?请帮忙。谢谢你:)
编辑:
我现在知道问题所在了。感谢所有的cmets和答案家伙。我偏离了 1 个增量。我应该从== 0 开始。对不起,谢谢你:)
【问题讨论】:
-
你的输入是什么,预期输出和实际输出?
-
第二个
temp.charAt(i) == '3'可能应该是temp.charAt(i) == '7'。你也没有处理'0'。 -
首先检查数学。 '3' 两次,没有零,错误的转换字符串。 (八进制 1 绝对不是二进制 000)
-
有时没有输出@AndyTurner
-
我明白了。谢谢@cadrian