亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java實現(xiàn)中英文詞典功能

 更新時間:2021年09月17日 11:55:11   作者:阿炳的旅程  
這篇文章主要為大家詳細介紹了Java實現(xiàn)中英文詞典功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現(xiàn)中英文詞典功能的具體代碼,供大家參考,具體內容如下

功能如下:

1、可以向詞典中增加中英文單詞,并提供修改和刪除功能
2、完成輸入中文查詢英文的功能,如果沒有提示沒有查到
3、完成輸入英文查詢中文的功能,如果沒有提示沒有查到
4、功能的選擇使用文字菜單完成,每個操作要求有明確的操作提示和結果演示,以及結果演示的暫停。

代碼實現(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("請輸入修改后的內容");
            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("請輸入修改后的內容");
            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);
            }
        }
    }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • SpringBoot項目啟動打包報錯類文件具有錯誤的版本 61.0, 應為 52.0的解決方法

    SpringBoot項目啟動打包報錯類文件具有錯誤的版本 61.0, 應為 52.0的解決

    這篇文章主要給大家介紹了關于SpringBoot項目啟動打包報錯類文件具有錯誤的版本 61.0, 應為 52.0的解決方法,文中有詳細的排查過程和解決方法,通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • Java 常量字符串過長的解決方法

    Java 常量字符串過長的解決方法

    這篇文章主要介紹了Java 常量字符串過長的解決方法,常量字符串過長會提示報錯,下面我們就一起來了解一下解決方法
    2021-04-04
  • 用Java設計模式中的觀察者模式開發(fā)微信公眾號的例子

    用Java設計模式中的觀察者模式開發(fā)微信公眾號的例子

    這篇文章主要介紹了用Java設計模式中的觀察者模式開發(fā)微信公眾號的例子,這里Java的微信SDK等部分便不再詳述,只注重關鍵部分和開發(fā)過程中觀察者模式優(yōu)點的體現(xiàn),需要的朋友可以參考下
    2016-02-02
  • Java從JDK源碼角度對Object進行實例分析

    Java從JDK源碼角度對Object進行實例分析

    這篇文章主要介紹了Java從JDK源碼角度對Object進行實例分析,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • springboot攔截器無法注入redisTemplate的解決方法

    springboot攔截器無法注入redisTemplate的解決方法

    在工作中我們經(jīng)常需要做登錄攔截驗證或者其他攔截認證功能,但是在寫攔截器的時候發(fā)現(xiàn)redisTemplate一直無法注入進來,本文就詳細的介紹了解決方法,感興趣的可以了解一下
    2021-06-06
  • 聊聊finally中的代碼一定會執(zhí)行嗎

    聊聊finally中的代碼一定會執(zhí)行嗎

    通常在面試中,只要是疑問句一般答案都是“否定”的,因為如果是“確定”和“正?!钡?那面試官就沒有必要再問了嘛,本文想和大家聊聊finally中的代碼一定會執(zhí)行嗎?,感興趣的朋友跟著小編一起來看看吧
    2023-12-12
  • java設計模式-代理模式(實例講解)

    java設計模式-代理模式(實例講解)

    下面小編就為大家?guī)硪黄猨ava設計模式-代理模式(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 詳解SpringBoot中如何使用Reactor模型

    詳解SpringBoot中如何使用Reactor模型

    Reactor模型主要提供了一種在Java虛擬機上構建非阻塞應用的方式,這種方式使用了響應式編程原理,通過響應式流標準來實現(xiàn),下面我們就來看看它在SpringBoot中是如何使用的吧
    2024-04-04
  • 關于dubbo的超時處理及重試原則

    關于dubbo的超時處理及重試原則

    這篇文章主要介紹了關于dubbo的超時處理及重試原則,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 深入解析Java的包(package)

    深入解析Java的包(package)

    這篇文章主要介紹了深入解析Java的包(package),是Java入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09

最新評論