использование indexOf для поиска строк, содержащих определенные буквы

Я написал следующий код, и моя цель - ввести строку в приглашении и вернуть любое слово в списке, содержащее эту строку. Я думаю, что мне не хватает только чего-то небольшого, так как когда я запускаю программу, она печатает весь список слов. Любая помощь будет оценена по достоинству.

package assignment1;

import java.net.*;
import java.util.ArrayList;
import java.util.List;
import java.io.*;

public class URLReader {
static List<String> words = new ArrayList<String>();

public static void main(String[] args) throws Exception {
    System.out.println("Please Input A String");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String letters = br.readLine();
    URL oracle = new URL("http://dl.dropbox.com/u/18678304/2011/BSc2/words.txt");
    BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream()));
    String inputLine;

    while ((inputLine = in.readLine()) != null)
        words.add(inputLine);
        in.close();

for(int i = 0; i<words.size(); i++)
{
    if(words.get(i).indexOf(letters) >= 0);
        System.out.println(words.get(i));
}

}
}

person Timmjy Morrissey    schedule 08.08.2012    source источник
comment
Я думаю, вам нужно отредактировать этот код. У вас есть точка с запятой после оператора if, завершающая его раньше.   -  person BlackVegetable    schedule 08.08.2012


Ответы (2)


у вас есть ; в конце вашего оператора if:

if(words.get(i).indexOf(letters) >= 0);
    System.out.println(words.get(i));

так должно быть:

if(words.get(i).indexOf(letters) >= 0)
    System.out.println(words.get(i));
person David Kroukamp    schedule 08.08.2012
comment
@TimmjyMorrissey, вам действительно следует использовать String.contains здесь. - person obataku; 08.08.2012

Фигурные скобки { } не требуются для одного оператора, но безопаснее использовать всегда:

if(words.get(i).indexOf(letters) >= 0){
System.out.println(words.get(i));
}
person Lo Juego    schedule 08.08.2012
comment
Да, но этой проблемы следует избегать, если он всегда использует фигурные скобки в своем коде. - person Lo Juego; 08.08.2012