Java 将2个文件读入地图字符

Java 将2个文件读入地图字符,java,file,compare,maps,Java,File,Compare,Maps,任务是:第一个文件包含随机单词,第二个文件包含字母表中的字母和值。 我必须将这两个文件读入地图数据结构,对于另一个文件中的每个单词,我必须打印出它们的点值: `在这里输入代码 `` static void readMap(字符串路径,HashMap集){ `试一试{ BufferedReader in=新的BufferedReader(新文件读取器(路径)); while(in.readLine()!=null){ String line=in.readLine(); 集合。放置(第1行); }

任务是:第一个文件包含随机单词,第二个文件包含字母表中的字母和值。 我必须将这两个文件读入地图数据结构,对于另一个文件中的每个单词,我必须打印出它们的点值:

`在这里输入代码 ``

static void readMap(字符串路径,HashMap集){
`试一试{
BufferedReader in=新的BufferedReader(新文件读取器(路径));
while(in.readLine()!=null){
String line=in.readLine();
集合。放置(第1行);
}
in.close();
}捕获(FileNotFoundException x){
System.out.println(x.getMessage());
}捕获(IOY异常){
System.out.println(y.getMessage());
}
}
这就是我所拥有的。但我不知道如何比较这两个文件。。。
谢谢你的帮助

您需要做两件事:

  • 读取字母文件,将每个键、值对(字母、数字值)添加到地图
  • 读取随机单词文件,迭代每个单词中的每个字母,检索其整数值(从映射中),并将其添加到总和中
  • 我提供了一些代码,但您需要自己实现其中的一些

    `

    HashMap map=newhashmap();
    BufferedReader in=新的BufferedReader(新的文件阅读器(“lets.txt”);
    while(in.readLine()!=null){
    String line=in.readLine();
    //TODO您需要将字符串按“;”拆分,并获取char和int
    字符c=。。。
    INTX=。。。
    集合。放置(c,x);
    }
    BufferedReader in=新的BufferedReader(新文件阅读器(“random_words.txt”);
    while(in.readLine()!=null){
    String line=in.readLine();
    int-total=0;
    对于(int i=0;i
    请更清楚地解释:“第一个文件包含随机单词,第二个文件包含字母表中的字母和值。”,或者给样本输入和输出第一个文件是:qabalah qabalah qabalas第二个文件:a;1 b;3 c;3d;2e;1 f;4g;2小时;4我;1 j;8K;5升;1米;3N;1 o;1p;3q;10R;1s;1吨;1 u;1伏;4W;4倍;8岁;4z;所以它应该像一个拼字游戏。我必须给出第一个文件中单词的值OK,什么是“点值”?“abc”是“133”还是加上数字,所以是“7”?另外,你应该说,如果这是家庭作业,它将是7。啊,对不起,这是我必须做的一个项目,我很乐意帮忙。如果这个答案解决了你的问题,请接受。哦,我还有一个问题。我在这条评论下打印,因为输出更好
    static void readMap(String path, HashMap<String,Object> set) {
        `try {
                    BufferedReader in = new BufferedReader(new FileReader(path));
                    while(in.readLine() != null) {
                        String line = in.readLine();
                        set.put(line,1);
                    }
                    in.close();
                } catch(FileNotFoundException x) {
                    System.out.println(x.getMessage());
                } catch(IOException y) {
                    System.out.println(y.getMessage());
                }
            }
    
    HashMap<Character, Integer> map = new HashMap<Character, Integer>();
    BufferedReader in = new BufferedReader(new FileReader("letters.txt"));
    while(in.readLine() != null) {
        String line = in.readLine();
        //TODO you need to split the string by ';' and get the char and int
        char c = ...
        int x = ...
        set.put(c,x);
    }
    
    
    BufferedReader in = new BufferedReader(new FileReader("random_words.txt"));
    while(in.readLine() != null) {
        String line = in.readLine();
        int total = 0;
        for(int i = 0; i < line.length(); i++)
        {
            char c = line.charAt(i);
            //TODO get integer value from map, add it to the total, and print it after the loop
            int value = ...
            total += value;
        }
        System.out.println("value for word " + line + " is " + total);
    }