使用Java在标准输出上的奇怪输出
我用Eclipse为学校编写了一个Java程序,结果发现输出有问题,代码如下:使用Java在标准输出上的奇怪输出,java,stdout,Java,Stdout,我用Eclipse为学校编写了一个Java程序,结果发现输出有问题,代码如下: public class Main { public static boolean[] cercaK(int k , String[] a){ boolean b[] = new boolean[a.length]; int conta = 0; for(int i = 0; i < a.length; i++){ b[i] =
public class Main {
public static boolean[] cercaK(int k , String[] a){
boolean b[] = new boolean[a.length];
int conta = 0;
for(int i = 0; i < a.length; i++){
b[i] = false;
int j = 0;
while(j < a[i].length()-1 && !b[i]){
if(a[i].charAt(j)==a[i].charAt(j+1))
conta++;
else
conta = 0;
if (conta == k)
b[i] = true;
j++;
}
}
return b;
}
public static void main(String[] args) {
String[] a = {"accesso","bbtcrryy","ggg"};
int k = 2;
if (k<=0)
System.out.println("Errore!");
boolean[] b = cercaK(k,a);
for(int i = 0; i < b.length; i++)
System.out.print(b);
}
}
我不明白这些字符串是从哪里来的。
有人能帮我吗?谢谢
编辑:我发现了错误
for(int i = 0; i < b.length; i++)
System.out.print(b[i]);
改变
到
以便打印数组的项,而不是数组本身。这是因为b的类型是布尔[]。当您尝试打印阵列时,可以预期类似的输出。这是打印所有元素的正确方法:
for(int i = 0; i < b.length; i++)
System.out.print(b[i]);
确切地您没有打印数组的元素,而是直接调用它。GJ;
for(int i = 0; i < b.length; i++)
System.out.print(b);
for(int i = 0; i < b.length; i++)
System.out.print(b[i]);
for(int i = 0; i < b.length; i++)
System.out.print(b[i]);
for(boolean var: b) {
System.out.println(var);
}