Java實現(xiàn)中英文詞典功能
本文實例為大家分享了Java實現(xiàn)中英文詞典功能的具體代碼,供大家參考,具體內(nèi)容如下
功能如下:
1、可以向詞典中增加中英文單詞,并提供修改和刪除功能
2、完成輸入中文查詢英文的功能,如果沒有提示沒有查到
3、完成輸入英文查詢中文的功能,如果沒有提示沒有查到
4、功能的選擇使用文字菜單完成,每個操作要求有明確的操作提示和結(jié)果演示,以及結(jié)果演示的暫停。
代碼實現(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("請輸入單詞名稱");
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("您要修改的中文單詞不存在,請輸入任意字母返回");
sc.next();
} else {
System.out.println("請輸入修改后的內(nèi)容");
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("您要修改的英文單詞不存在,請輸入任意字母返回");
sc.next();
} else {
System.out.println("請輸入修改后的內(nèi)容");
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("刪除成功");
else
System.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("刪除成功");
else
System.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("————————歡迎使用中英文詞典系統(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("請輸入你的選擇:");
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);
}
}
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot項目啟動打包報錯類文件具有錯誤的版本 61.0, 應(yīng)為 52.0的解決
這篇文章主要給大家介紹了關(guān)于SpringBoot項目啟動打包報錯類文件具有錯誤的版本 61.0, 應(yīng)為 52.0的解決方法,文中有詳細的排查過程和解決方法,通過代碼介紹的非常詳細,需要的朋友可以參考下2023-11-11
用Java設(shè)計模式中的觀察者模式開發(fā)微信公眾號的例子
這篇文章主要介紹了用Java設(shè)計模式中的觀察者模式開發(fā)微信公眾號的例子,這里Java的微信SDK等部分便不再詳述,只注重關(guān)鍵部分和開發(fā)過程中觀察者模式優(yōu)點的體現(xiàn),需要的朋友可以參考下2016-02-02
springboot攔截器無法注入redisTemplate的解決方法
在工作中我們經(jīng)常需要做登錄攔截驗證或者其他攔截認證功能,但是在寫攔截器的時候發(fā)現(xiàn)redisTemplate一直無法注入進來,本文就詳細的介紹了解決方法,感興趣的可以了解一下2021-06-06

