资源简介
Java做的拼写检查工具如果待检查的文本太长的话速度慢~~~~~~包含ROSE的一些图
代码片段和文件信息
package entity;
//字典类
public class Dictionary {
private String name; // 字典名
private int[] length; // 字典长度 按首字符分组 0-25为字母‘a|A‘-‘z|Z‘ 26为非字母 27为总长度
private String[][] words; // 单词表 按首字符分组 0-25为字母‘a|A‘-‘z|Z‘ 26为非字母
// 构造函数
// words 字典单词表
// length 单词表长度
public Dictionary(String[] words int number) {
name = words[0]; // 第0个单词为字典名
length = countWordNnumber(words number); // 计算并保存字典长度
this.words = saveWords(words length);
}
// 获取字典名
public String getName() {
return name;
}
// 获取字典长度
public int[] getLength() {
return length;
}
// 按首字符获取字典长度
// c 首字符 非字母返回所有非字母开头单词数目
public int getLength(char c) {
int temp = charTOint(c);
return length[temp];
}
// 获取字典总长度
public int getAllLength() {
return length[27];
}
// 获取所有单词 按首字符分组0-25为字母‘a|A‘-‘z|Z‘ 26为非字母
public String[][] getWords() {
return words;
}
// 按首字符获取单词
// c 首字符 非字母返回所有非字母开头单词
public String[] getWords(char c) {
int temp = charTOint(c);
return words[temp];
}
// 把char转换为int ‘a|A‘到‘z|Z‘转为0-25 其他字符返回26
// c 要转换的字符
public int charTOint(char c) {
int temp = (int) c; // 把char转为ASCII码
if (temp < 97) { // 少于‘a‘的字符加32 以便与小写字母对比
temp = temp + 32;
}
temp = temp - 97; // 把‘a‘到‘z‘转为0-25
if (temp < 0 || temp > 25) {
return 26;
}
return temp;
}
// 计算以不同字母开头的单词的数目
// words 单词表 number 单词总数
private int[] countWordNnumber(String[] words int number) {
int[] length = new int[28];
int i = 0;
for (i = 1; i < number; i++) { // 从第一个单词开始扫描
length[charTOint(words[i].charAt(0))]++; // 相应单词数加1
}
length[26] = number;
for (i = 0; i < 26; i++) { // 计算非字母开头的单词数
length[26] = length[26] - length[i];
}
length[26]--; // 减去字典名
length[27] = number - 1; // 保存总单词数
return length;
}
// 返回按首字母分组的单词
// words 要分组的单词 length 以各字母开头的单词的数目
private String[][] saveWords(String[] words int[] length) {
String w[][] = new String[27][];
int i = 0 j = 0;
int[] temp = new int[27];
for (i = 0; i < 27; i++) { // 生成以各字母开头的单词数组
w[i] = new String[length[i]];
}
for (i = 1; i <= length[27]; i++) { // 从第一个单词开始扫描
j = charTOint(words[i].charAt(0)); // 记录首字母
w[j][temp[j]] = words[i].substring(0 words[i].length() - 1); // 单词添加到相应分组
temp[j]++; // 分组位置加1
}
return w;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2673 2008-01-02 01:39 Check\Check\entity\Dictionary.java
文件 1109 2008-01-01 15:22 Check\Check\entity\DictionaryFactory.java
文件 798 2007-12-31 12:50 Check\Check\entity\Word.java
文件 1220 2008-01-02 11:10 Check\Check\entity\WordsFactory.java
文件 1045 2007-12-31 12:50 Check\Check\file\ReadFile.java
文件 869 2008-01-02 11:50 Check\Check\file\WriteFile.java
文件 1465 2008-01-02 11:10 Check\Check\operation\CheckText.java
文件 974 2008-01-01 21:56 Check\Check\operation\ErrorToString.java
文件 1963 2008-01-01 14:58 Check\Check\operation\LineAnalysis.java
文件 2370 2008-01-01 21:10 Check\Check\operation\Operate.java
文件 2656 2008-01-01 14:57 Check\Check\operation\WordAnalysis.java
文件 233 2008-01-01 16:07 Check\Check\UI\Main.java
文件 10012 2008-01-01 21:10 Check\Check\UI\MainUI.java
文件 391168 2008-01-04 18:20 Check\check.doc
文件 22273 2008-01-01 22:12 Check\Check.jar
文件 468014 2008-01-01 22:09 Check\check.mdl
目录 0 2008-01-04 18:21 Check\Check\entity
目录 0 2008-01-04 18:21 Check\Check\file
目录 0 2008-01-04 18:21 Check\Check\operation
目录 0 2008-01-04 18:21 Check\Check\UI
目录 0 2008-01-04 18:21 Check\Check
目录 0 2008-01-16 00:04 Check
----------- --------- ---------- ----- ----
908842 22
- 上一篇:fpgrowth算法java源码
- 下一篇:银行账户管理系统java程序编写
相关资源
- 银行账户管理系统java程序编写
- fpgrowth算法java源码
- Java实现圆圈旋转效果,等待、加载、
- JAVA C/S架构应用程序
- Java解析CSV文件
- 一个简易版坦克大战 供java初学者学
- 教学管理系统代码java
- 毕向东Java全套.txt
- Java 套接字(Socket)实现的简单局域网
- java 多线程 打字游戏
- 必须知道的11个java第三方类库
- 基于java数据结构链表写的猴子选大王
- Java单链表增删改查的实现
- 实验三:完整性访问控制系统设计与
- AHP算法java实现
- java socket多人聊天文字+图片+文件传输
- java程序 停车场管理系统
- 计算机图形学实验 鼠标点击画直线
- java国际化i18n
- PCA用java实现
- JAVA实现sql注入点检测
- JAVA socket收发数据,并支持断网自动
- sql server2000 Java驱动jdbc连接驱动
- 吉林大学Java程序设计实验报告
- eclipse java聊天室
- 医院药品管理系统
- Java数据库 项目案例:宠物商店
- java坦克大战源码已加入声音图片
- java2D Java Java Java
- java 雪景动画
评论
共有 条评论