Java實(shí)現(xiàn)中英文詞典功能
本文實(shí)例為大家分享了Java實(shí)現(xiàn)中英文詞典功能的具體代碼,供大家參考,具體內(nèi)容如下
功能如下:
1、可以向詞典中增加中英文單詞,并提供修改和刪除功能
2、完成輸入中文查詢英文的功能,如果沒有提示沒有查到
3、完成輸入英文查詢中文的功能,如果沒有提示沒有查到
4、功能的選擇使用文字菜單完成,每個(gè)操作要求有明確的操作提示和結(jié)果演示,以及結(jié)果演示的暫停。
代碼實(shí)現(xiàn):
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; } @Override public 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); } @Override public 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("請(qǐng)輸入單詞名稱"); Scanner sc = new Scanner(System.in); String name = sc.next(); if (ch.containsKey(name)) { System.out.println("這個(gè)單詞已存在,請(qǐng)重試"); } else { System.out.println("請(qǐng)輸入這個(gè)單詞的英文翻譯"); String meaning = sc.next(); ch.put(name, new Word(name, meaning)); System.out.println("添加成功"); } backMenu(); } //添加英文單詞 public void addEnWord() { System.out.println("請(qǐng)輸入單詞名稱"); Scanner sc = new Scanner(System.in); String name = sc.next(); if (en.containsKey(name)) { System.out.println("這個(gè)單詞已存在,請(qǐng)重試"); } else { System.out.println("請(qǐng)輸入這個(gè)單詞的中文翻譯"); String meaning = sc.next(); en.put(name, new Word(name, meaning)); System.out.println("添加成功"); } backMenu(); } //改變中文單詞 public void changeCh() { System.out.println("請(qǐng)輸入您要修改的中文單詞"); Scanner sc = new Scanner(System.in); String name = sc.next(); boolean flag = ch.containsKey(name); if (!flag) { System.out.println("您要修改的中文單詞不存在,請(qǐng)輸入任意字母返回"); sc.next(); } else { System.out.println("請(qǐng)輸入修改后的內(nèi)容"); String meaning = sc.next(); ch.put(name, new Word(name, meaning)); System.out.println("修改成功"); } backMenu(); } //改變英文單詞 public void changeEn() { System.out.println("請(qǐng)輸入您要修改的英文單詞"); Scanner sc = new Scanner(System.in); String name = sc.next(); boolean flag = en.containsKey(name); if (!flag) { System.out.println("您要修改的英文單詞不存在,請(qǐng)輸入任意字母返回"); sc.next(); } else { System.out.println("請(qǐng)輸入修改后的內(nèi)容"); String meaning = sc.next(); en.put(name, new Word(name, meaning)); System.out.println("修改成功"); } backMenu(); } //刪除中文單詞 public void deleteCh() { System.out.println("請(qǐng)輸入您要?jiǎng)h除的中文單詞"); Scanner sc = new Scanner(System.in); String name = sc.next(); if (ch.remove(name) != null) System.out.println("刪除成功"); else System.out.println("您要?jiǎng)h除的單詞不存在,請(qǐng)重試"); backMenu(); } //刪除英文單詞 public void deleteEn() { System.out.println("請(qǐng)輸入您要?jiǎng)h除的英文單詞"); Scanner sc = new Scanner(System.in); String name = sc.next(); if (en.remove(name) != null) System.out.println("刪除成功"); else System.out.println("您要?jiǎng)h除的單詞不存在,請(qǐng)重試"); backMenu(); } //查詢中文單詞的翻譯 public void seachEn() { System.out.println("請(qǐng)輸入您要查詢的中文單詞"); Scanner sc = new Scanner(System.in); String name = sc.next(); boolean flag = ch.containsKey(name); if (!flag) { System.out.println("您要查詢的中文單詞不存在,請(qǐng)重試"); } else { Word word = ch.get(name); System.out.println(name + "的英文翻譯是" + word.getMeaning()); } backMenu(); } //查詢英文單詞的中文翻譯 public void seachCh() { System.out.println("請(qǐng)輸入您要查詢的英文單詞"); Scanner sc = new Scanner(System.in); String name = sc.next(); boolean flag = en.containsKey(name); if (!flag) { System.out.println("您要查詢的英文單詞不存在,請(qǐng)重試"); } else { Word word = en.get(name); System.out.println(name + "的中文翻譯是" + word.getMeaning()); } backMenu(); } public void backMenu() { System.out.println("請(qǐng)輸入9返回菜單"); Scanner sc = new Scanner(System.in); sc.next(); System.out.println(); } } //測(cè)試類 public class MainClass { public static void main(String[] args) { Dictionary myDictionary = new Dictionary(); while (true) { System.out.println("————————?dú)g迎使用中英文詞典系統(tǒng)————————"); 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.退出系統(tǒng)"); System.out.println("請(qǐng)輸入你的選擇:"); 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); } } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot項(xiàng)目啟動(dòng)打包報(bào)錯(cuò)類文件具有錯(cuò)誤的版本 61.0, 應(yīng)為 52.0的解決
這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目啟動(dòng)打包報(bào)錯(cuò)類文件具有錯(cuò)誤的版本 61.0, 應(yīng)為 52.0的解決方法,文中有詳細(xì)的排查過程和解決方法,通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11用Java設(shè)計(jì)模式中的觀察者模式開發(fā)微信公眾號(hào)的例子
這篇文章主要介紹了用Java設(shè)計(jì)模式中的觀察者模式開發(fā)微信公眾號(hào)的例子,這里Java的微信SDK等部分便不再詳述,只注重關(guān)鍵部分和開發(fā)過程中觀察者模式優(yōu)點(diǎn)的體現(xiàn),需要的朋友可以參考下2016-02-02Java從JDK源碼角度對(duì)Object進(jìn)行實(shí)例分析
這篇文章主要介紹了Java從JDK源碼角度對(duì)Object進(jìn)行實(shí)例分析,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12springboot攔截器無(wú)法注入redisTemplate的解決方法
在工作中我們經(jīng)常需要做登錄攔截驗(yàn)證或者其他攔截認(rèn)證功能,但是在寫攔截器的時(shí)候發(fā)現(xiàn)redisTemplate一直無(wú)法注入進(jìn)來,本文就詳細(xì)的介紹了解決方法,感興趣的可以了解一下2021-06-06java設(shè)計(jì)模式-代理模式(實(shí)例講解)
下面小編就為大家?guī)硪黄猨ava設(shè)計(jì)模式-代理模式(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09