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.实验结果(包括输入数据和输出结果)

三、总结

实现查找相同的汉字或者英语的对应翻译并且输出,通过判断输入的字符串是否与存入的键或值相同来实现。

经验分享 程序员 微信小程序 职场和发展