arr []的内容以某种方式改变,所以当我尝试从方法中打印返回数组的内容时,它会显示为null。 此方法从用户获取文本文件路径,并将每个单词放入一个数组中,并将其与字典数组(book)进行比较,并且应该在dif []中返回不在字典中的单词。
int d = arr.length-compare(book, arr);
int l = 0;
int bi = 0;
String[] dif = new String[d];
if (d >= 1) {
for (int i = 0; i < arr.length; i++) {
for (int a = 0; a < book.length; a++) {
if (book[a].equalsIgnoreCase(arr[i])) {
//IF I TRY TO PRINT ARR[I] HERE IT HAS A VALUE
bi = 1;
}
}
if (bi != 1) {
dif[l] = arr[i];
//HERE ARR[I] IS NULL
System.out.println(arr[i]);
l = l + 1;
}
}
return dif;
}
else {
return null;}
}
答案 0 :(得分:0)
for (int i = 0; i < arr.length; i++) {
for (int a = 0; a < book.length; a++) {
if (book[a].equalsIgnoreCase(arr[i])) {
//IF I TRY TO PRINT ARR[I] HERE IT HAS A VALUE
bi = 1;
}
}
if (bi != 1) {
dif[l] = arr[i];
//HERE ARR[I] IS NULL
System.out.println(arr[i]);
l = l + 1;
}
}
您永远不会重置bi
的值,因此只要arr
中有一个条目等于book
arr
中所有后续值中的一个条目null
将输出可能包括var = var << SHIFT >> SHIFT;
。