我已写出以下代码,我的目的是在提示符处输入一个字符串,并返回包含此字符串的列表中的任何单词。我想我只缺少一些小东西,因为当我运行程序时它打印整个单词列表。任何帮助,将不胜感激。
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));
}
}
}
答案 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));
}