⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 correctnessanalyzer.java

📁 文本编辑分析大师
💻 JAVA
字号:
package myprojects_SpellChecker;

import java.util.TreeSet;
import java.util.*;
import java.io.*;
import java.util.regex.*;
class CorrectnessAnalyzer{
    private TreeSet myTree;
    private String Word;
    private String[] similarWords=new String[8];
    //构造方法
    public CorrectnessAnalyzer(TreeSet T) {
        myTree=T;
    }
    //查找单词是否存在字典中
    public boolean getWordRightness(String str) {
        Word=str;
        for(int k=0;k<8;k++) {
            similarWords[k]=null;
        }
        if(myTree.contains(Word)){
            return true;
        }
        //找不到时候,查找相近的单词
        String key;
        Iterator te=myTree.iterator();
        te=myTree.iterator();
        int i=0;
        if(Word.length()>=3)
            while(te.hasNext()&&i<8) {
                String findWord=te.next().toString();
                if(Pattern.matches("[a-z]{0,2}"+Word+"[a-z]{0,3}", findWord)) {
                    similarWords[i]=findWord;
                    i++;
                    continue;
                }
                if(Pattern.matches(Word.substring(0,Word.length()-1)+"[a-z]{0,3}",findWord)) {
                    similarWords[i]=findWord;
                    i++;
                    continue;
                }
                if((Word.length()-2)<findWord.length()&&findWord.length()<(Word.length()+3)) {
                    boolean is=true;
                    for(int j=0;j<Word.length();j++) {
                        key=Word.substring(j,j+1);
                        if(!Pattern.matches("[a-z]*"+key+"[a-z]*",findWord)) {
                            is=false;
                            break;
                        }
                    }
                    if(is==true) {
                        similarWords[i]=findWord;
                        i++;
                        continue;
                    }
                }
            }
        if(similarWords[0]==null){
            similarWords[0]="没有相近单词";
        }
        return false;
    }
    public boolean isExist(String str) {
        Word=str;      
        if(myTree.contains(Word)){
            return true;
        }        
        return false;
    }
    public void findSimilarWords(String str){
    	//找不到时候,查找相近的单词
    	Word=str;
    	for(int k=0;k<8;k++) {
            similarWords[k]=null;
        }
        String key;
        Iterator te=myTree.iterator();
        int i=0;
        if(Word.length()>=3)
            while(te.hasNext()&&i<8) {
                String findWord=te.next().toString();
                if(Pattern.matches("[a-z]{0,2}"+Word+"[a-z]{0,3}", findWord)) {
                    similarWords[i]=findWord;
                    i++;
                    continue;
                }
                if(Pattern.matches(Word.substring(0,Word.length()-1)+"[a-z]{0,3}",findWord)) {
                    similarWords[i]=findWord;
                    i++;
                    continue;
                }
                if((Word.length()-2)<findWord.length()&&findWord.length()<(Word.length()+3)) {
                    boolean is=true;
                    for(int j=0;j<Word.length();j++) {
                        key=Word.substring(j,j+1);
                        if(!Pattern.matches("[a-z]*"+key+"[a-z]*",findWord)) {
                            is=false;
                            break;
                        }
                    }
                    if(is==true) {
                        similarWords[i]=findWord;
                        i++;
                        continue;
                    }
                }
            }
        if(similarWords[0]==null){
        	similarWords[0]="没有推荐的相似单词";        	
        }

    }
    
    public String[] getsimilarWords(){
        return similarWords;
    }
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -