Java 使用用户输入字符串搜索HashMap

Java 使用用户输入字符串搜索HashMap,java,dictionary,hashmap,user-input,Java,Dictionary,Hashmap,User Input,我正在为一个小作业创建一个字典应用程序,不幸的是,这些作业是随机给出的,我只是简单地提取了一个我不知道如何实现的应用程序 我想听听您关于获取用户输入并使用它查看HashMap(这可能吗?)以提供定义的建议 另外(对不起),它必须是双语的,我可以简单地将两种语言中的所有单词放在一个HashMap中,并有一种方法搜索这两种语言吗 我在这里真的是力不从心,非常感谢你的帮助 import java.util.HashMap; import java.util.Map; import java.io.*;

我正在为一个小作业创建一个字典应用程序,不幸的是,这些作业是随机给出的,我只是简单地提取了一个我不知道如何实现的应用程序

我想听听您关于获取用户输入并使用它查看HashMap(这可能吗?)以提供定义的建议

另外(对不起),它必须是双语的,我可以简单地将两种语言中的所有单词放在一个HashMap中,并有一种方法搜索这两种语言吗

我在这里真的是力不从心,非常感谢你的帮助

import java.util.HashMap;
import java.util.Map;
import java.io.*;



public class Dictionary {

    public static void main(String[] args) {

        Map<String, String> map = new HashMap<String, String>();

        String s1 = getInput("Enter a word to define: ");



        map.put ("Abduction","A carrying away of a person against his will or illegally.");

        map.put ("Ache","To be in pain or distress.");

        map.put ("Befriend","To be a friend to, especially when in need.");

        map.put ("Bilingual","Speaking two languages.");

        map.put ("Comical","Something funny.");

        map.put ("Comprehensive","Large in scope or content.");

        map.put ("Deplete","To reduce or lessen, as by use, exhaustion or waste.");

        map.put ("Detest","To dislike or hate with intensity.");


    }


        private static String getInput(String prompt) {
            BufferedReader stdin = new BufferedReader(
                    new InputStreamReader(System.in));

            System.out.print(prompt);
            System.out.flush();

            try {
                return stdin.readLine();
            } catch (Exception e) {
                return "Error: " + e.getMessage();

            }
        }
    }
import java.util.HashMap;
导入java.util.Map;
导入java.io.*;
公共类词典{
公共静态void main(字符串[]args){
Map Map=newhashmap();
字符串s1=getInput(“输入要定义的单词:”);
map.put(“绑架”、“违背某人意愿或非法带走某人”);
map.put(“疼痛”,“处于痛苦或痛苦中”);
map.put(“Befriend”,“成为朋友,尤其是在需要的时候。”);
map.put(“双语”、“说两种语言”);
map.put(“滑稽的”、“有趣的东西”);
map.put(“全面”、“范围或内容大”);
(如通过使用、消耗或浪费来减少或减少);
map.put(“憎恶”、“强烈地厌恶或憎恨”);
}
私有静态字符串getInput(字符串提示){
BufferedReader stdin=新的BufferedReader(
新的InputStreamReader(System.in));
系统输出打印(提示);
System.out.flush();
试一试{
返回stdin.readLine();
}捕获(例外e){
return“Error:+e.getMessage();
}
}
}

如果您试图在HashMap中搜索,那么您就完全错过了HashMap的要点。
HashMap
的设计目的是通过将值用作
来颠覆搜索需求

if(map.containsKey(userInput))
{
    return map.get(userInput);
}
这就是搜索时具有
O(1)
复杂性的
HashMap
的意思。您只需要迭代或递归一次

另外(对不起),它必须是双语的,我可以简单地将两种语言中的所有单词放在一个HashMap中,并有一种方法搜索这两种语言吗

对。只需将新条目添加到
HashMap

map.put("Hello", "A greeting");
map.put("Hola", "Una greetingo"); // Forgive my slightly racist Spanish.
额外(在您需要的情况下)阅读

  • 仔细阅读这本书。你需要学习一些关于这个物体的基本知识。你的深度不够,因为你没有花适当的时间去了解这个问题

您会看到
map.put()
。。。您是否尝试过
map.get()
?或地图地图(例如,键入“en”和“es”)。或者确实在键的前面加上“locale”。可能吧,但我认为只要把所有东西都添加到一个映射中,代码就会保持整洁。用户可能无法输入
“Hola”、“es”