我创建了一个带有文本文件的程序,将这些行存储为数组中的字符串。现在我想“过滤”数组的那些条目。
我正在使用string.contains来查看每个数组条目是否具有子串“05 / Aug”。
由于某种原因,它总是返回true,实际上它不应该。
以下是文件:http://www.santarosa.edu/~lmeade/weblog.txt
这是我的代码:
for (int i=0; i<10;i++)
{
boolean check = storestrings[i].contains("05/Aug");
if(check = true){
teststring[i] = storestrings[i];
//System.out.print(storestrings[i]);
}
else{
teststring[i] = null;
}
}
答案 0 :(得分:0)
您在if语句中使用赋值运算符而不是相等。它应该是这样的:
if(check == true){
teststring[i] = storestrings[i];
//System.out.print(storestrings[i]);
}
或只是
if (check) {
teststring[i] = storestrings[i];
//System.out.print(storestrings[i]);
}
在你的代码中,当它在if语句中达到check = true时,它将true赋给check变量并返回true,因此if条件总是计算为true。