Java 使用用户输入字符串搜索HashMap
我正在为一个小作业创建一个字典应用程序,不幸的是,这些作业是随机给出的,我只是简单地提取了一个我不知道如何实现的应用程序 我想听听您关于获取用户输入并使用它查看HashMap(这可能吗?)以提供定义的建议 另外(对不起),它必须是双语的,我可以简单地将两种语言中的所有单词放在一个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.*;
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”
。