当前位置: 首页 > news >正文

模拟百度翻译-课后程序(JAVA基础案例教程-黑马程序员编著-第六章-课后作业)

【案例6-5】 模拟百度翻译

【案例介绍】

1.任务描述

大家对百度翻译并不陌生,本案例要求编写一个程序模拟百度翻译。用户输入英文之后搜索程序中对应的中文,如果搜索到对应的中文就输出搜索结果,反之给出提示。本案例要求使用Map集合实现英文与中文的存储。

2.运行结果

程序运行结果如图6-1所示:

图6-1  运行结果图

 

【案例思路】

(1)百度翻译主要用于翻译对应的意思。这是一种映射关系。因此可以用 Map集合来实现,所以首先就是定义Map集合,存储数据。

(2)用键盘录入功能获取我们要翻译的单词。

(3)定义一个方法,在该方法中实现对单词的查询操作,并且根据不同情况给出相关提示。

(4)调用查询的方法,实现翻译。并将结果输出到控制台。

【案例实现】

程序实现代码如文件6-1所示。 

                         文件6-1 example7.java

  1. package com.itheima;
  2. import java.util.HashMap;
  3. import java.util.Scanner;
  4. public class example7 {
  5.     public static void main(String[] args) {
  6.       //定义Map集合用于存储词典的数据
  7.       HashMap<String, String> word = new HashMap<String, String>();
  8.       while(true) {
  9.           //集合合添加词典的数据。
  10.       word.put("apple", "苹果");
  11.       word.put("banner", "香蕉");
  12.       word.put("book", "");
  13.       word.put("telephone", "电话");
  14.       word.put("cat", "");
  15.       word.put("dog", "");
  16.       word.put("student", "学生");
  17.       word.put("teacher", "老师");
  18.       //键盘录入功能获取我们要翻译的单词
  19.       Scanner sc = new Scanner(System.in);
  20.       System.out.println("请您输入您要翻译的单词:");
  21.       String w = sc.nextLine();
  22.       //调用判断打印输出
  23.       Select(w, word);
  24.       }
  25.     }  
  26.     //定义方法对键盘录入的数据进行判断
  27. public static String Select(String w, HashMap<String, String> word) {
  28.         if(w.isEmpty()) {
  29.            System.out.println("请输入您要翻译的单词:");
  30.            return "";
  31.         }else if(!word.containsKey(w)) {
  32.            System.out.println("对不起,您要翻译的单词不存在,请重新输入:");
  33.         }else{
  34.            String chinese = word.get(w);
  35.            System.out.println(w+"翻译成中文意思为:"+chinese);
  36.         }
  37.         return w;
  38.     }
  39. }

在文件6-1中,第7行代码用于定义HashMap集合。第10~17行代码用Map集合的put()方法向集合中添加词典的初始化数据。第19~21行代码键盘录入我们要翻译的英文单词,第23行代码调用Select()方法实现集合中判断是否包含键盘输入的单词,如果有则输入对应的中文意思,反之则给出相应提示。

 

http://www.lryc.cn/news/18741.html

相关文章:

  • 自然语言处理(NLP)之求近义词和类比词<MXNet中GloVe和FastText的模型使用>
  • 2023年CDGA考试-第13章-数据质量(含答案)
  • ASEMI高压MOS管ASE65R330参数,ASE65R330图片
  • LeetCode动态规划经典题目(九):子序列、子数组问题
  • 如何利用有限的数据发表更多的SCI论文?——利用ArcGIS探究环境和生态因子对水体、土壤和大气污染物的影响
  • 六【 SpringMVC框架】
  • 【BBuf的CUDA笔记】八,对比学习OneFlow 和 FasterTransformer 的 Softmax Cuda实现
  • python 类对象的析构释放代码演示
  • Hadoop Shell常用命令
  • Android中级——色彩处理和图像处理
  • C++类和对象:类的定义、类对象的存储、this指针
  • 代码随想录算法训练营第三十九天 | 62.不同路径,63. 不同路径 II
  • 数据库复习3
  • 顺序表的增删查改
  • jupyter matplotlib中文乱码解决
  • Smtplib之发邮件模块
  • Android 适配手机和平板
  • 时序预测 | MATLAB实现LSTM-SVR(长短期记忆神经网络-支持向量机)时间序列预测
  • 分阶段构建golang运行环境Dockerfile镜像
  • Vue-cli脚手架在做些什么(源码角度分析)
  • 【Nginx】|入门连续剧——安装
  • 从0开始学python -38
  • 算法设计与分析期末考试复习(二)
  • 九龙证券|4D毫米波雷达成市场新宠,相关概念股大涨,会贡献多少业绩?
  • Git天天用,不得不看的那些事
  • IDE 文档注释使用,模板注释,ide配置templates
  • 力扣-查询近30天活跃用户数
  • 企企通聚源池| 聚合海量资源全网寻源,赋能供采双方撮合交易
  • 【算法数据结构体系篇class09】:链表问题:快慢指针、回文结构、复制、中点,分区、相交
  • 实验室信息化管理行业方案