题目描述
要求:
(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
    












