功能如下:

  1. 可以向词典中增加中英文单词,并提供修改和删除功能
  2. 完成输入中文查询英文的功能,如果没有提示没有查到
  3. 完成输入英文查询中文的功能,如果没有提示没有查到
  4. 功能的选择使用文字菜单完成,每个操作要求有明确的操作提示和结果演示,以及结果演示的暂停。

代码实现:

import java.util.Objects;
import java.util.HashMap;
import java.util.Scanner;//单词模型类
class Word {private String name;private String meaning;public Word() {}public Word(String name, String meaning) {this.name = name;this.meaning = meaning;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getMeaning() {return meaning;}public void setMeaning(String meaning) {this.meaning = meaning;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Word word = (Word) o;return Objects.equals(name, word.name) && Objects.equals(meaning, word.meaning);}@Overridepublic int hashCode() {return Objects.hash(name, meaning);}
}//CURD
class Dictionary {private HashMap<String, Word> ch = null;private HashMap<String, Word> en = null;//初始化public Dictionary() {this.ch = new HashMap<String, Word>();this.en = new HashMap<String, Word>();}//添加中文单词public void addChWord() {System.out.println("请输入单词名称");Scanner sc = new Scanner(System.in);String name = sc.next();if (ch.containsKey(name)) {System.out.println("这个单词已存在,请重试");} else {System.out.println("请输入这个单词的英文翻译");String meaning = sc.next();ch.put(name, new Word(name, meaning));System.out.println("添加成功");}backMenu();}//添加英文单词public void addEnWord() {System.out.println("请输入单词名称");Scanner sc = new Scanner(System.in);String name = sc.next();if (en.containsKey(name)) {System.out.println("这个单词已存在,请重试");} else {System.out.println("请输入这个单词的中文翻译");String meaning = sc.next();en.put(name, new Word(name, meaning));System.out.println("添加成功");}backMenu();}//改变中文单词public void changeCh() {System.out.println("请输入您要修改的中文单词");Scanner sc = new Scanner(System.in);String name = sc.next();boolean flag = ch.containsKey(name);if (!flag) {System.out.println("您要修改的中文单词不存在,请重试");} else {System.out.println("请输入修改后的内容");String meaning = sc.next();ch.put(name, new Word(name, meaning));System.out.println("修改成功");}backMenu();}//改变英文单词public void changeEn() {System.out.println("请输入您要修改的英文单词");Scanner sc = new Scanner(System.in);String name = sc.next();boolean flag = en.containsKey(name);if (!flag) {System.out.println("您要修改的英文单词不存在,请重试");} else {System.out.println("请输入修改后的内容");String meaning = sc.next();en.put(name, new Word(name, meaning));System.out.println("修改成功");}backMenu();}//删除中文单词public void deleteCh() {System.out.println("请输入您要删除的中文单词");Scanner sc = new Scanner(System.in);String name = sc.next();if (ch.remove(name) != null)System.out.println("删除成功");elseSystem.out.println("您要删除的单词不存在,请重试");backMenu();}//删除英文单词public void deleteEn() {System.out.println("请输入您要删除的英文单词");Scanner sc = new Scanner(System.in);String name = sc.next();if (en.remove(name) != null)System.out.println("删除成功");elseSystem.out.println("您要删除的单词不存在,请重试");backMenu();}//查询中文单词的翻译public void seachEn() {System.out.println("请输入您要查询的中文单词");Scanner sc = new Scanner(System.in);String name = sc.next();boolean flag = ch.containsKey(name);if (!flag) {System.out.println("您要查询的中文单词不存在,请重试");} else {Word word = ch.get(name);System.out.println(name + "的英文翻译是" + word.getMeaning());}backMenu();}//查询英文单词的中文翻译public void seachCh() {System.out.println("请输入您要查询的英文单词");Scanner sc = new Scanner(System.in);String name = sc.next();boolean flag = en.containsKey(name);if (!flag) {System.out.println("您要查询的英文单词不存在,请重试");} else {Word word = en.get(name);System.out.println(name + "的中文翻译是" + word.getMeaning());}backMenu();}public void backMenu() {System.out.println("请输入9返回菜单");Scanner sc = new Scanner(System.in);sc.next();System.out.println();}
}//测试类
public class MainClass {public static void main(String[] args) {Dictionary myDictionary = new Dictionary();while (true) {System.out.println("————————欢迎使用中英文词典系统————————");System.out.println("1.添加中文单词");System.out.println("2.添加英文单词");System.out.println("3.修改中文单词");System.out.println("4.修改英文单词");System.out.println("5.删除中文单词");System.out.println("6.删除英文单词");System.out.println("7.查询中文单词翻译");System.out.println("8.查询英文单词翻译");System.out.println("9.退出系统");System.out.println("请输入你的选择:");Scanner sc = new Scanner(System.in);int i = sc.nextInt();switch (i) {case 1:myDictionary.addChWord();break;case 2:myDictionary.addEnWord();break;case 3:myDictionary.changeCh();break;case 4:myDictionary.changeEn();break;case 5:myDictionary.deleteCh();break;case 6:myDictionary.deleteEn();break;case 7:myDictionary.seachEn();break;case 8:myDictionary.seachCh();break;case 9:System.out.println("谢谢使用");System.exit(0);}}}
}

Java实现中英文词典功能相关推荐

  1. java 实现中英文拼写检查和错误纠正?可我只会写 CRUD 啊!

    简单的需求 临近下班,小明忙完了今天的任务,正准备下班回家. 一条消息闪烁了起来. "最近发现公众号的拼写检查功能不错,帮助用户发现错别字,体验不错.给我们系统也做一个." 看着这 ...

  2. java发布后功能不能用,急项目发布后java写的打印功能失效了-求解解决方法

    当前位置:我的异常网» J2EE » 急项目发布后java写的打印功能失效了-求解解决方法 急项目发布后java写的打印功能失效了-求解解决方法 www.myexceptions.net  网友分享于 ...

  3. [转载]JAVA实现鼠标右键功能

    原文地址:JAVA实现鼠标右键功能作者:beexk 如何实现右键功能呢?(PopupMenu) 有两个步骤: 1.谁来实现,也就是该右键的source是什么. (直接把PopupMenu加到对象sou ...

  4. java 实现网络通信_利用Java怎么样实现网络通信功能

    利用Java怎么样实现网络通信功能 发布时间:2020-11-20 15:19:04 来源:亿速云 阅读:72 作者:Leah 利用Java怎么样实现网络通信功能?相信很多没有经验的人对此束手无策,为 ...

  5. java 1.8新增功能_睡觉时:新增的Java 8新增功能

    java 1.8新增功能 自Java 8推出以来,最有趣的功能是什么? Java 8最近庆祝了它的第一个生日,其主要版本已经在一年多以前了. 这当然值得庆祝. 自从最初的Java 8版本问世以来,已经 ...

  6. Java 14的新功能

    2020年3月17日,Oracle发布了名为Java 14的Java新版本,其中包括许多新功能,工具,安全性,调试和更新的文档方面的改进. 但是,Oracle还向您提供Java的较旧版本,因为它具有向 ...

  7. java 基础包的功能_Java 8的功能基础

    java 基础包的功能 Java 8彻底改变了Java. 它很可能是过去10年中最重要的Java版本. 有很多新功能,包括默认方法,方法和构造函数引用以及lambda, 仅举几例 . 更有趣的功能之一 ...

  8. java 1.8新增功能_Java 8的新增功能(第二部分-可能会出现什么)

    java 1.8新增功能 免责声明:我不为Oracle工作,也不以任何方式代表Oracle. 此功能列表不是官方的. 作为"局外人",这只是我研究的一部分. 这是由三部分组成的系列 ...

  9. Java 8中的功能接口是什么? @功能注释和示例

    函数接口是Java 8最重要的概念之一,实际上为lambda表达式提供了动力,但是许多开发人员没有首先了解函数接口在Java 8中的作用就花了很多精力来理解它,并花时间学习lambda表达式和Stre ...

  10. java上传文件功能_Java MemoryMapped文件的功能

    java上传文件功能 Java MemoryMapped文件的功能 在JDK 1.4中,内存映射文件的一个有趣功能被添加到Java中,该功能允许将任何文件映射到OS内存以进行有效读取. 内存映射文件可 ...

最新文章

  1. [Git/Github] ubuntu 14.0 下github 配置
  2. 论海明威的存在主义宗教意识——存在主义虚无主义。注:部分观点个人不赞同...
  3. Java 强引用与软引用以及弱引用,虚引用
  4. ORA-12516 TNS: 监听程序找不到符合协议堆栈要求的可用处理程序
  5. VR 技术加上 8K 画质! 2016 年里约奥运会亮点十足
  6. vue 循环tabs 标签页 组件_Vue render函数实战--实现tabs选项卡组件
  7. 大一新生如何h看待大学生活?
  8. Zynq7000硬件开发之总体硬件架构设计
  9. 关于伺服驱动控制的课本_三菱伺服驱动器-说明书.pdf
  10. 固态硬盘SSD闪存芯片的颗粒类型 和 颗粒等级
  11. 支付宝支付原理以及测试接口获取支付url
  12. mac下hadoop环境的搭建
  13. android 位置共享_如何与Android的受信任联系人共享您的位置
  14. Android 获取设备唯一标识
  15. SAP快速学习小结1
  16. 28 网络文件共享服务
  17. scratch五彩糖葫芦 电子学会图形化编程scratch等级考试三级真题和答案解析2022年6月
  18. 成长-技术人员的成长
  19. 实用技巧| 电脑系统提升20%上网速度,记得学会拿去装X哈
  20. 测试集群,任务运行失败

热门文章

  1. java实现modbus rtu协议与 modscan等工具
  2. 网络协议抓包分析实例
  3. 利用 LSTM 神经网络预测股价走势
  4. 微软MDT 安装与配置(一)
  5. python程序设计与算法基础教程微课版课后答案_Python程序设计与算法基础教程
  6. 常见排序算法的时间复杂度汇总
  7. 打算开源一个低代码平台,第四天,包含【工作流,业务流,财务,APQC】。技术栈 React,typescript,java,mysql
  8. iptv原版固件_永久免费看IPTV,有了这固件可看高清流畅稳定直播
  9. excel模板 基金账本_有哪些好用的Excel个人账单模板?
  10. Stata15重编码