Java如何从文本文件中搜索单词

时间:2013-11-30 18:22:45

标签: java

编辑:编写一个程序,从文件中读取100个单词。然后,让用户搜索一个单词,直到他们进入“退出”。 该程序将从文件中读取最多100个单词。该文件可能包含或不包含100个单词,但该数组最多应包含100个(如果列表中没有足够的单词,则用空字符串填充数组的其余部分)。 读入文件后,程序将提示用户输入搜索字符串。然后程序将搜索该字符串并告诉用户该单词是否被找到。程序将继续从用户获取搜索字符串,直到用户输入“退出”

您好我需要帮助编写一个程序来从文本文件中找到一个单词

结果应该如下:

输入要搜索的单词:taco

发现了'taco'字样。

输入要搜索的单词:asd

找不到单词'asd'。

当用户输入“退出”字样时,程序将退出

以下是我到目前为止所需要的帮助以完成

import java.io.*;
import java.util.Scanner;
public class project2 {
  public static void main( String[] args ) throws IOException {
    String[] list;
    String  search;

    list = load_list( "words.txt" );
    search = prompt_user( "\nEnter a word to search for: " );
    while ( ! search.equals( "quit" ) ) {
      System.out.println( "Word '" + search + "' was" +
            ( ( find_word( search, list ) ) ? "" : " NOT" ) +
            " found." );
      search = prompt_user( "\nEnter a word to search for: " );
    }    
    System.out.println();
}

3 个答案:

答案 0 :(得分:1)

for(String s: list){
    if(s.equals(search)){
        //do whatever
    }
}

答案 1 :(得分:1)

使用此:

Scanner txtscan = new Scanner(new File("filename.txt"));

while(txtscan.hasNextLine()){
    String str = txtscan.nextLine();
    if(str.indexOf("word") != -1){
        System.out.println("EXISTS");
    }
}

答案 2 :(得分:-1)

以下代码完美地回答了这个问题:

    String word = ""; int val = 0;
    while(!word.matches("quit"))
    {
        System.out.println("Enter the word to be searched for");
        Scanner input = new Scanner(System.in);
        word = input.next();
        Scanner file = new Scanner(new File("newFile.txt"));

        while(file.hasNextLine())           
        {
            String line = file.nextLine();
            if(line.indexOf(word) != -1)
            {
                System.out.println("Word EXISTS in the file");
                val = 1;
                break;
            }
            else
            {
                val = 0;
                continue;
            }
        }
        if(val == 0)
        {
            System.out.println("Word does not exist");
        }
        System.out.println("-------continue or quit--- enter continue or quit");
        word = input.next();        
    }