2013-06-17 4 views
1

Я сделал программу, которая принимает текстовый файл, сохраняет строки как строки в массиве. Теперь я хочу «фильтровать» те записи массива.string.contains всегда возвращается true

Я использую string.contains, чтобы увидеть, имеет ли каждая запись массива подстрока «05/Aug».

По какой-то причине он всегда возвращается к истине, когда на самом деле он не должен.

Вот файл: 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

Вы использовали оператор присваивания в заявлении, если вместо равенства. Это должно быть так:

if(check == true){ 
    teststring[i] = storestrings[i]; 
    //System.out.print(storestrings[i]); 
} 

или просто

if (check) { 
    teststring[i] = storestrings[i]; 
    //System.out.print(storestrings[i]); 
} 

В своем коде, когда он достиг чек = True в если утверждение, присваивает верным переменной проверки и возвращает истину, так что если условие всегда оценивается как true.

+0

СПАСИБО ВАС !!!! ЭТО ЭТО! – Max

Смежные вопросы