英汉小字典java_java 学习案例之英汉字典
在写代码的时候,当鼠标悬浮在某一个单词上面的时候,有道词典点有时会弹出一个消息气泡,在里面中给出关于这个单词相关的解释,下面给大家展示一个使用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 学习案例之英汉字典相关推荐
- python输入学生成绩字典_一个案例轻松认识Python字典-成绩达标判定
判断学生成绩是否达标的程序 要求输入学生数量,以及各个学生物理.数学.历史三科的成绩,如果总成绩小于 120,程序打印 "不达标!",否则打印 "达标了!". ...
- java 学习案例之英汉字典
在写代码的时候,当鼠标悬浮在某一个单词上面的时候,有道词典点有时会弹出一个消息气泡,在里面中给出关于这个单词相关的解释,下面给大家展示一个使用Java基础语言编写的英汉字典案例: 实现功能: 输入英文 ...
- 字典树学习 根据前缀词根建立字典树
一.字典树概念 字典树又被称作Trie树,其效率非常高,所以在字符串查找,前缀匹配中应用非常广泛,其高效率是以空间为代价的.典型应用是用于统计和排序大量的字符串,它的优点是,最大限度地减少无谓的字符串 ...
- java设计单词英译汉小助手_C语言实现单词小助手功能完善版
本文为大家分享了完善版的C语言单词小助手的具体实现代码,供大家参考,具体内容如下 一.题目分析 1.在原有代码基础上添加文档注释,函数注释及语句注释,使代码风格良好,易于阅读和修改. 2.完善功能,实 ...
- java设计单词英译汉小助手_单词小助手C语言版
单词小助手,要求完成以下任务: 1.改写程序为良好程序风格(文档注释,函数注释,语句注释). 2.将单词测试中的功能完善,可针对做错的单词重复记忆. 3.查询单词的功能添加英文词查询,中文查询的功能完 ...
- 英汉小词典 java_英汉小词典 java随机存取文件流应用 version1.0
package jnet; //英汉小词典 随机存取文件 需改进 version1.0 import java.io.*; import javax.swing.*; import java.a ...
- 微信小程序开发学习6(基础加强之使用npm包和全局数据共享及分包【Tab底栏案例改进】)
微信小程序开发学习6(基础加强之使用npm包和全局数据共享及分包) 1.使用npm包 小程序对npm包的支持 目前,小程序中已经支持使用p安装第三方包,从而来提高小程序的开发效率.但是,在小程序中使用 ...
- python中字典和集合的区别_Python中字典和集合学习小结
映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表. ...
- python字典里可以放列表吗_学习python之列表及字典
本关学习的是两种新的数据类型:列表.字典. 在开始之前先学习一下计算机与数据直接的关系. 计算机有3种方式利用数据: 1.直接使用数据 print('我来了') 2.计算和加工数据 print (1+ ...
最新文章
- Javapinyin4J实现中文名转拼音
- python二十五:装饰器
- 添加当前文件夹及其子文件夹到以及别而的文件夹到当前路径
- php post 渲染数据,php 程序内部post数据实现方法
- python学习之文件读写
- java 程序迁移后oracle 数字溢出_Spring Boot 应用迁移到 Java 11
- ArcGIS GeoDataBase GeoDataset dataset
- 发现一个很nice的API调试工具
- 互联网人必看的中台理论,阿里腾讯架构师用大白话讲出来了
- Spring 初始化2次的问题
- Linux常用的网络服务基础命令
- 当前NLP迁移学习中的一些问题
- java根据地址解析省市区信息
- matlab鼠标箭头黑色,个性化的黑色箭头鼠标指针(falchion光标)安装版本
- discuz模板风格制作入门
- 【笔记】html文件的图片上添加文字说明或者链接文字
- 使用 Power Query 制作工资条
- windows下Intel核显应用ffmpeg的qsv插件编解码
- 缓解 WPF 应用程序中的空域问题
- python中新式类和经典类的区别
热门文章
- 跌停的奥飞娱乐 在“盲盒“市场上还有一席之地吗?
- Android商城开发----点击左侧分类列表右侧更新对应列表内容
- 经方败案群9月底黎德育讲颈椎病的治疗
- 智能网联汽车成兵家必争之地,恒驰智能网联汽车亮点何在?
- 简述物联网感知技术_物联网综合测试试题及答案
- 论文第一部分引言该如何写(三步秘笈)
- 部署onlyoffice(node.js版本)之野蛮施工法
- ZBrush: Alpha纹理生成雕花
- uname命令详解(图文)
- python作者_精心整理|Python爱好者社区历史文章合集(作者篇)