在写代码的时候,当鼠标悬浮在某一个单词上面的时候,有道词典点有时会弹出一个消息气泡,在里面中给出关于这个单词相关的解释,下面给大家展示一个使用Java基础语言编写的英汉字典案例:

实现功能:

输入英文,给出对应的中文翻译,如果没有这个单词没有被收录会有相关提示

代码编写环境

JDK:1.8.0_191

Eclipse:2019-03 (4.11.0)

素材:

dict.txt

字典资源文本文件,保存一些下列格式的文件,英文和翻译之间用制表符隔开:

Africa  n. 非洲

Aids    n. 爱滋病

America      n. 美洲

April    n. 四月

案例实现用到的技术:

IO流

Map—HashMap

字符串分割

异常处理

代码思路

1、  根据字典文件路径,创建file对象

2、  判断file对象是否为空,不为空就继续,否则直接返回null

3、  File不为空,创建InputStreamReader和BufferedReader对象

4、  循环读取字典文本中的内容,切割得到数组,保存在map中

5、  提示输入单词,查询单词,输出查询结果

运行效果

开始运行的提示:

查询成功的反馈

单词不存在的反馈

案例代码:

编写方法读取文本中的内容

package com.feng.demo01;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStreamReader;

import java.util.HashMap;

import java.util.Map;

import java.util.Scanner;

/**

*     英汉字典案例

* @author dushine

*/

public class GetDict {

public static void main(String[] args) {

String path = "E:\\dict.txt";

// 获取字典中的所有内容

Map dict = getText(path);

// 判断字典是否为空,提示输入单词,获取查询结果

if (dict != null) {

@SuppressWarnings("resource")

// 获取输入内容

Scanner input = new Scanner(System.in);

System.out.println("请输入要查询的单词:");

String word = input.next();

// 查询字典获取中文,如果没有也给出反馈

String ret = dict.get(word);

if (ret != null) {

System.out.println("查询结果:\n"+word + ":" + ret);

} else {

System.out.println("您查询的单词尚未收录,敬请期待!");

}

}

}

/**

* 获取字典文件中内容

* @param path

* @return

*/

private static Map getText(String path) {

// 可能会出现异常

try {

// 根据路径创建文件对象

File file = new File(path);

// 判断路径指向的文件是否存在

if (file.exists() && file.isFile()) {

// 创建map,存储读取得到的内容

Map dict = new HashMap();

System.out.println("文件路径正确,正在解析。。。");

// 创建输入流对象

InputStreamReader reader =

new InputStreamReader(new FileInputStream(file), "gbk");

BufferedReader bufferedReader = new BufferedReader(reader);

String text = null;

// 循环读取文件内容

while ((text = bufferedReader.readLine()) != null) {

// 切割每一行内容,得到数组

String[] arr = text.split("\t");

// 把切割得到的内容放入map

dict.put(arr[0], arr[1]);

}

// 读取结束,关闭流对象并返回结果

reader.close();

return dict;

} else {

System.out.println("字典崩溃啦,下次再来使用吧。。。");

}

} catch (Exception e) {

System.out.println("字典好像出了点问题、文件内容出错啦。。。");

e.printStackTrace();

}

// 路径指向的不是文件或者文件不存在返回null

return null;

}

}

英汉小字典java_java 学习案例之英汉字典相关推荐

  1. python输入学生成绩字典_一个案例轻松认识Python字典-成绩达标判定

    判断学生成绩是否达标的程序 要求输入学生数量,以及各个学生物理.数学.历史三科的成绩,如果总成绩小于 120,程序打印 "不达标!",否则打印 "达标了!". ...

  2. java 学习案例之英汉字典

    在写代码的时候,当鼠标悬浮在某一个单词上面的时候,有道词典点有时会弹出一个消息气泡,在里面中给出关于这个单词相关的解释,下面给大家展示一个使用Java基础语言编写的英汉字典案例: 实现功能: 输入英文 ...

  3. 字典树学习 根据前缀词根建立字典树

    一.字典树概念 字典树又被称作Trie树,其效率非常高,所以在字符串查找,前缀匹配中应用非常广泛,其高效率是以空间为代价的.典型应用是用于统计和排序大量的字符串,它的优点是,最大限度地减少无谓的字符串 ...

  4. java设计单词英译汉小助手_C语言实现单词小助手功能完善版

    本文为大家分享了完善版的C语言单词小助手的具体实现代码,供大家参考,具体内容如下 一.题目分析 1.在原有代码基础上添加文档注释,函数注释及语句注释,使代码风格良好,易于阅读和修改. 2.完善功能,实 ...

  5. java设计单词英译汉小助手_单词小助手C语言版

    单词小助手,要求完成以下任务: 1.改写程序为良好程序风格(文档注释,函数注释,语句注释). 2.将单词测试中的功能完善,可针对做错的单词重复记忆. 3.查询单词的功能添加英文词查询,中文查询的功能完 ...

  6. 英汉小词典 java_英汉小词典 java随机存取文件流应用 version1.0

    package jnet; //英汉小词典  随机存取文件   需改进 version1.0 import java.io.*; import javax.swing.*; import java.a ...

  7. 微信小程序开发学习6(基础加强之使用npm包和全局数据共享及分包【Tab底栏案例改进】)

    微信小程序开发学习6(基础加强之使用npm包和全局数据共享及分包) 1.使用npm包 小程序对npm包的支持 目前,小程序中已经支持使用p安装第三方包,从而来提高小程序的开发效率.但是,在小程序中使用 ...

  8. python中字典和集合的区别_Python中字典和集合学习小结

    映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表. ...

  9. python字典里可以放列表吗_学习python之列表及字典

    本关学习的是两种新的数据类型:列表.字典. 在开始之前先学习一下计算机与数据直接的关系. 计算机有3种方式利用数据: 1.直接使用数据 print('我来了') 2.计算和加工数据 print (1+ ...

最新文章

  1. Javapinyin4J实现中文名转拼音
  2. python二十五:装饰器
  3. 添加当前文件夹及其子文件夹到以及别而的文件夹到当前路径
  4. php post 渲染数据,php 程序内部post数据实现方法
  5. python学习之文件读写
  6. java 程序迁移后oracle 数字溢出_Spring Boot 应用迁移到 Java 11
  7. ArcGIS GeoDataBase GeoDataset dataset
  8. 发现一个很nice的API调试工具
  9. 互联网人必看的中台理论,阿里腾讯架构师用大白话讲出来了
  10. Spring 初始化2次的问题
  11. Linux常用的网络服务基础命令
  12. 当前NLP迁移学习中的一些问题
  13. java根据地址解析省市区信息
  14. matlab鼠标箭头黑色,个性化的黑色箭头鼠标指针(falchion光标)安装版本
  15. discuz模板风格制作入门
  16. 【笔记】html文件的图片上添加文字说明或者链接文字
  17. 使用 Power Query 制作工资条
  18. windows下Intel核显应用ffmpeg的qsv插件编解码
  19. 缓解 WPF 应用程序中的空域问题
  20. python中新式类和经典类的区别

热门文章

  1. 跌停的奥飞娱乐 在“盲盒“市场上还有一席之地吗?
  2. Android商城开发----点击左侧分类列表右侧更新对应列表内容
  3. 经方败案群9月底黎德育讲颈椎病的治疗
  4. 智能网联汽车成兵家必争之地,恒驰智能网联汽车亮点何在?
  5. 简述物联网感知技术_物联网综合测试试题及答案
  6. 论文第一部分引言该如何写(三步秘笈)
  7. 部署onlyoffice(node.js版本)之野蛮施工法
  8. ZBrush: Alpha纹理生成雕花
  9. uname命令详解(图文)
  10. python作者_精心整理|Python爱好者社区历史文章合集(作者篇)