Java实验六 集合类【模拟百度翻译】
前言
一、任务介绍
1.任务描述
本实验要求编写程序模拟百度翻译。程序在接收到用户输入的英文后,将搜索对应的中 文,如果搜索到对应的中文就输出搜索结果,反之则给出提示。本实验要求使用 HashMap 集合实现 的存储。
2.运行结果
输入词典中已存在英文单词运行结果如图 1 所示:
输入词典中不存在英文单词运行结果如图 2 所示:
3.任务目标
学会 “模拟百度翻译”任务的实现过程。 根据分析 “模拟百度翻译”任务的源代码编写、编译及运行。 掌握 HashMap 集合的特点及常用方法。
4.实现思路
(1) 百度翻译主要是完成英文到中文的翻译。这是一种键值对<映射>关系。因此可以用HashMap集合来实现,所以 HashMapTest 类中定义的 main 方法首先就是定义词典 words容器(该词典为HashMap<String,String>集合类型 )用来存储英文与中文的对应关系。然后添加进若干个英文(键)与中文(值)的键值对关系到容器中,以便于用来测试翻译结果。 main 方法从键盘输入要翻译的英文单词,然后调用 public static void Select(String w, HashMap<String, String> word)方法进行查询。 (2) HashMapTest 中 再 定 义 一 个 静 态 方 法 public static void Select(String w, HashMap<String, String> word)方法,该方法中实现对输入英文单词的查询,如果所输入的英文单词在词典中不存在则输出"对不起,您要翻译的单词不存在!“的提示信息。如果存在, 则输出相应的翻译信息,如"telephone 翻译成中文为:电话”。
果
二、程序实现
1.代码
import java.util.*; public class HashMapTest{ public static void main(String[] args) { HashMap<String, String> map=new HashMap<>(); map.put("电话", "telephone"); map.put("很好", "nice"); map.put("密码", "password"); Scanner sc=new Scanner(System.in); System.out.println("请输入您要翻译的单词:"); String str=sc.next(); int judge=1; for (Map.Entry<String,String> ju:map.entrySet()){ //遍历 if (ju.getValue().equals(str)){ //判断输入是否与某值相等 System.out.println(str + " 翻译成中文为:"+ju.getKey()); judge=0; } if(ju.getKey().equals(str)) { //判断输入是否与某键相等 System.out.println(str + " 翻译为英文为:"+ju.getValue()); judge=0; } } if (judge == 1)System.out.println("对不起,您翻译的单词不存在"); } }
2.实验结果(包括输入数据和输出结果)
三、总结
实现查找相同的汉字或者英语的对应翻译并且输出,通过判断输入的字符串是否与存入的键或值相同来实现。