我不知道如何研究这个,所以这就是。我正在尝试创建一个“翻转位”的程序,例如字符串“00110011”将返回“11001100”。我试图创建一个for循环来输出单个字符,所以看看是否以这种方式获取字符,但它会在不输出字符的情况下停止。
public static void main(String[] args) {
String bitsList = "01010101";
char[] sepBits = bitsList.toCharArray();
System.out.println("Array'd");
int num = bitsList.length();
System.out.println("Got length");
for (int count = 0; count == num;) {
System.out.println(sepBits[count]);
System.out.println("Outputted " + sepBits[count]);
}
}
答案 0 :(得分:3)
你永远不会进入你的for循环,因为count
是0
而num
是8
(长度"01010101"
)。因此count == num
评估为false
,并且未输入for循环。
尝试用以下代码替换你的for循环:
for (int count = 0 ; count < num ; count++) {
// ...
}
答案 1 :(得分:0)
变量count不等于变量num,因此for循环永远不会触发。我想你正在寻找&lt; = not ==。此外,你永远不会改变计数,所以即使你做了改变,循环也会一遍又一遍地打印相同的点。
答案 2 :(得分:0)
这可能适合你
public static void main(String []args){
String bitsList = "01010101";
char[] sepBits = bitsList.toCharArray();
int num = bitsList.length();
for ( int i = num - 1 ; i >= 0 ; i-- ) {
System.out.println("Outputted " + sepBits[i]);
}
}