我用Eclipse编写Java学校程序,输出有问题,代码如下:
select *
from tblNormativiIspratnica
inner join tblNormativiSubIspratnica on tblNormativiIspratnica.ZaklucokBroj = tblNormativiSubIspratnica.ZaklucokBroj
输出真的很奇怪:
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);
}
}
我无法理解这些字符串的来源。 谁能帮帮我吗?谢谢!
编辑:我发现了错误,
[Z@106d69c[Z@106d69c[Z@106d69c
答案 0 :(得分:0)
更改
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]);
以便打印数组的项目,而不是数组本身。
答案 1 :(得分:0)
这是因为b
的类型是boolean[]
。当您尝试打印数组时,您可以期待类似的输出。这是打印所有元素的正确方法:
for(int i = 0; i < b.length; i++)
System.out.print(b[i]);
您可以选择使用for-each
循环:
for(boolean var: b) {
System.out.println(var);
}