用Java实现电子英汉词典功能案例

题目描述

要求:
(1)能够编辑词典库中的信息
(2)能够实现英译汉,汉译英。(要考虑一词多义)

编写思路

创建了一个 Dictionary 类,其中包含了一个 HashMap 来存储词典库中的信息。通过 addWord 方法可以添加词汇到词典库中,通过 translate 方法可以进行英译汉和汉译英的翻译。

main 方法中,通过一个循环提供了菜单选项供用户选择操作。用户输入相应的选项后,程序会执行相应的操作,并输出结果。

实现代码

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Dictionary {
    private Map<String, String> dict;

    public Dictionary() {
        dict = new HashMap<>();
    }

    public void addWord(String word, String translation) {
        dict.put(word, translation);
    }

    public String translate(String word) {
        return dict.get(word);
    }

    public static void main(String[] args) {
        Dictionary dictionary = new Dictionary();
        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.println("请选择操作:");
            System.out.println("1. 添加词汇");
            System.out.println("2. 英译汉");
            System.out.println("3. 汉译英");
            System.out.println("4. 退出");
            int choice = scanner.nextInt();
            scanner.nextLine(); // 读取换行符

            if (choice == 1) {
                System.out.println("请输入要添加的词汇:");
                String word = scanner.nextLine();
                System.out.println("请输入该词汇的翻译:");
                String translation = scanner.nextLine();
                dictionary.addWord(word, translation);
                System.out.println("词汇添加成功!");
            } else if (choice == 2) {
                System.out.println("请输入要翻译的英文单词:");
                String word = scanner.nextLine();
                String translation = dictionary.translate(word);
                if (translation != null) {
                    System.out.println("翻译结果:" + translation);
                } else {
                    System.out.println("未找到翻译结果!");
                }
            } else if (choice == 3) {
                System.out.println("请输入要翻译的中文单词:");
                String word = scanner.nextLine();
                String translation = null;
                for (Map.Entry<String, String> entry : dictionary.dict.entrySet()) {
                    if (entry.getValue().equals(word)) {
                        translation = entry.getKey();
                        break;
                    }
                }
                if (translation != null) {
                    System.out.println("翻译结果:" + translation);
                } else {
                    System.out.println("未找到翻译结果!");
                }
            } else if (choice == 4) {
                break;
            } else {
                System.out.println("无效的选择,请重新选择!");
            }
        }

        scanner.close();
    }
}

 

© 版权声明
THE END
喜欢就支持一下吧
点赞10赞赏 分享