使用indexOf搜索包含某些字母的字符串

时间:2012-08-08 15:46:20

标签: java 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));
}

}
}

2 个答案:

答案 0 :(得分: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));

答案 1 :(得分:2)

一个语句不需要大括号{}但总是使用更安全:

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