Java搜索程序

时间:2017-12-16 06:09:19

标签: java search

我正在努力使这个程序打印出以列表单词中某个字母开头的单词。例如,如果输入字母“e”,它应该只打印以字母“e”开头的单词,但由于某种原因它正在读取像“远东”这样的单词,即使它不是以字母“e”开头。有什么建议吗?

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class words {
    public static void main(String[] args) throws IOException {
        Scanner key = new Scanner(System.in);
        File wordfile = new File("wrds.txt");
        if(wordfile.exists()){
            Scanner keyboard = new Scanner(wordfile);
            int counter = 0;
            System.out.println("Enter a character");
            char wrd = key.next().charAt(0);
            while(keyboard.hasNext()) {
                String word = keyboard.next();
                if(word.startsWith(""+ wrd)) {
                    counter++;
                }
            }
            System.out.println("Found "+counter+" words that begin with "+ wrd);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

默认情况下,扫描程序会破坏带有空格的单词。所以“远东”'被扫描为“远”。和东方'使用分隔符来忽略空格。请参阅以下代码。

game_s game[num_of_games];