• 大小: 274KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: Java
  • 标签: java  拼写检查  

资源简介

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


评论

共有 条评论