String seq= "101010101";
byte[] bytes = seq.getBytes();
for (int i = 0; i < bytes.length; i++) {
byte b=bytes[i];
System.out.println(b);
}
它将打印1和0的ASCII代码,分别为48和49.我想打印1和0.我该怎么做?
答案 0 :(得分:1)
String seq= "101010101";
char[] bits = seq.toCharArray();
for (int i = 0; i < bits.length; i++) {
char b=bits[i];
System.out.println(b);
}
答案 1 :(得分:1)
String seq= "101010101";
char[] charArray = seq.toCharArray();
for (int i = 0; i < charArray.length; i++) {
char b=charArray[i];
System.out.println(b);
}
答案 2 :(得分:0)
您可以b - 48
打印1或0。
System.out.println(b - 48);
答案 3 :(得分:0)
您的序列是String
,其中包含字符0
和1
。 不一系列二进制数。 getBytes()
为您提供String
中每个字符的字节数。你想要的只是迭代String
中的字符。
for (char c : seq.toCharArray()) {
System.out.println(c);
}
答案 4 :(得分:0)
听起来你真的想要使用以下循环:
String seq = "101010101";
for (int=0; i < seq.length; i++) {
String s = seq.substring(i,i+1);
... or char c = seg.charAt(i);
System.out.println(s) .. (or c)
}
为什么要尝试使用字节?
答案 5 :(得分:-1)
使用以下代码:
final int ASCII_0 = 48;
String seq= "101010101";
byte[] bytes = seq.getBytes();
for (int i = 0; i < bytes.length; i++) {
byte b=bytes[i];
System.out.println(b - ASCII_0);
}