0

私は次のコードを書きました。私の目的は、プロンプトで文字列を入力し、この文字列を含むリスト内の任意の単語を返すことです。プログラムを実行すると単語リスト全体が出力されるので、何か小さなものが欠けているだけだと思います。どんな助けでもいただければ幸いです。

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));
}

}
}
4

2 に答える 2

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));
于 2012-08-08T15:48:14.763 に答える
2

1つのステートメントに中括弧{}は必要ありませんが、常に使用する方が安全です。

if(words.get(i).indexOf(letters) >= 0){
System.out.println(words.get(i));
}
于 2012-08-08T15:56:46.430 に答える