作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个将八进制值转换为二进制值的计算器。
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);
我的循环语句有什么问题?请帮忙。谢谢:)
编辑:
我现在知道问题所在了。感谢大家的评论和回答。我增加了 1 个。我应该从 == 0
开始。对不起,谢谢你:)
最佳答案
您可以通过执行一些按位运算来跳过这一长串显式案例:
StringBuilder sb = new StringBuilder(3 * temp.length());
for (int i = 0; i < temp.length(); i++) {
// + check that the character is actually an octal digit.
int digit = Character.digit(temp.charAt(i), 10);
for (int b = 2; b >= 0; --b) {
sb.append(Character.forDigit((digit >> b) & 0x1, 10));
}
}
关于Java 八进制到二进制的转换(没有预定义的方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934307/
我是一名优秀的程序员,十分优秀!