SearchEngine.java

作者在 2008-10-18 15:21:32 发布以下内容
import java.util.*;
import java.io.*;

public class SearchEngine {
    public static void main(String[] args) {
        Hashtable<String, ArrayList<String>> ht = new Hashtable<String, ArrayList<String>>();
        Scanner kb = new Scanner(System.in);
        System.out
                .println("Enter the filename that you want to Search values for.");
        BufferedReader br = null;
        try {
            br = new BufferedReader(new FileReader(kb.nextLine()));// reads
            // information
            // from the
            // file
            // specified
            // by user
            // input
            System.out
                    .println("The file was read. Processing information, please wait...");

            while (br.ready()) {// should repeat until there are no more lines
                // to read
                String line = br.readLine();// assigns the line read by the
                // reader to line
                String[] result = line.split("\\s");// tokenizes the line into
                // seperate strings, based
                // on spaces only

                for (int i = 0; i < result.length; i++) {
                    if (!ht.containsKey(result[i])) {
                        ArrayList<String> temp = new ArrayList<String>(1);
                        temp.add(line);
                        ht.put(result[i], temp);// assigns a key to anonymous
                        // ArrayList that stores the
                        // value
                    } else {
                        ArrayList<String> temp = (ArrayList<String>) ht
                                .get(result[i]);// if the key has already been
                        // assigned, thats ok
                        temp.add(line); // just add the argument to the
                        // ArrayList!
                    }
                }
            }
        } catch (Exception e) {
            System.out.println(e);
            System.exit(1);
        }
        System.out.println(ht);
        do {
            System.out
                    .println("Enter a key to search for the value it is associated with.\n");
            System.out.println(ht.get(kb.nextLine()));
            System.out
                    .println("\nKeep searching? Enter any key to continue, or type <NO> to end the process");
        } while (!kb.nextLine().equalsIgnoreCase("<NO>"));
        try {
            br.close();
        } catch (Exception e) {
            System.out.println(e);
            System.exit(1);
        }
    }// end main
}// end class

java code | 阅读 3507 次
文章评论,共0条
游客请输入验证码
浏览569735次