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

📄 interfacechenghash3.java

📁 本文件实现将输入文件中的英语单词差错功能 ,有可视界面,可方便导入文件和词典
💻 JAVA
字号:
package scau108;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
class Interface extends JFrame{	
	private JButton jbuttonA,jbuttonB,jbuttonC,jbuttonD;
	private TextArea textarea;
	private JPanel jpanelA,jpanelB;	
	
	private String[] ArrayDictionary;
	private int ArrayDictionaryLength;

	private String[] ArrayText;

	private int ArrayTextLength; 
	
	
	private HashSet hash;

   
		   	    
	private JFrame frame=this;                   	
	public Interface() {
		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				dispose();
				System.exit(0);
			}
		});	
		setTitle("查错");
		CreatJPanel();		
		CreatJButton();	
		CreatTextArea();
		Add();	
		pack();
	}
	private void CreatJPanel(){
		jpanelA=(JPanel)this.getContentPane();
		jpanelB=new JPanel();	
		jpanelA.setLayout(new BorderLayout());	
		jpanelB.setLayout(new FlowLayout());
	}
	private void CreatJButton(){
		CreatJButtonA();
		CreatJButtonB();
		CreatJButtonC();	
	}	
	private void CreatJButtonA(){
		jbuttonA=new JButton("读取文件");
		jbuttonA.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){	
				Read text=new Read(frame,"C:\\text.txt");	
				ArrayText=text.getArray();
				ArrayTextLength=text.getArrayLength();
			   textarea.setText("File Read Success!");	
			 //	text.Display(textarea);	
			}
		});
	}
	private void CreatJButtonB(){
		jbuttonB=new JButton("读取字典");
		jbuttonB.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				Read dictionary=new Read(frame,"C:\\1.txt");	
				ArrayDictionary=dictionary.getArray();
				ArrayDictionaryLength=dictionary.getArrayLength();
				textarea.setText(""); 
				hash=dictionary.getHashSetDircty();
				textarea.setText("Dictionary Read Success!");	
			 //	dictionary.Display(textarea);		
			}
		});
	}
	private void CreatJButtonC(){
		jbuttonC=new JButton("进行匹配");
		jbuttonC.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){	
			  WordAnalyse WA=new WordAnalyse(hash);
		     WA.check("e:\\CheckResult.txt",ArrayText,ArrayTextLength,textarea);  
		     
			}
		});
	}	
	private void CreatTextArea()
	{ 	textarea=new TextArea(" ",10,1,TextArea.SCROLLBARS_BOTH);	
	}
	private void Add()
	{ 	jpanelB.add(jbuttonA);
		jpanelB.add(jbuttonB);
		jpanelB.add(jbuttonC);
		jpanelA.add(jpanelB,BorderLayout.NORTH);
		jpanelA.add(textarea,BorderLayout.CENTER);
	}
	
 
	
	
	
	
	public static void main(String args[]) 
	{
		System.out.println("Starting Interface...");
		Interface mainFrame=new Interface();
		mainFrame.setVisible(true);
	}	
	
	
 	
	
	
	
	
	
	
}
  
class WordAnalyse 
{  public int  ErrorNum=0; 
   public HashSet hash; 
  
  public WordAnalyse(HashSet Hash)
  { 	this.hash=Hash;
  } 
  public String Analyse(String[] word,int Length,int line)
   {  String error=new String(); 
      ErrorNum=0;
  	  for(int i=0;i<Length;i++)
  	    {  if(!hash.contains(word[i]))
  	          { error=error+"Line  "+line+"\t"+word[i]+"\n";  
  	            ErrorNum++;
  	          }
  	    } 
  	 return(error); 
   } 
   
   
   
   public void check(String path,String[] ArrayText,int ArrayTextLength,TextArea textarea)
	{  	// WordAnalyse WA=new WordAnalyse(hash);  
	     int j,n;
	     long kk=System.currentTimeMillis();
	      int  LineNum=0;
     try{  FileWriter file=new FileWriter(path);
		   String Word[]=new String[100]; 
	        StringTokenizer st; 
	        kk=System.currentTimeMillis();	
   	       for (int i=0;i<ArrayTextLength;i++)
   	          {  j=0;
                 st=new StringTokenizer (ArrayText[i]," 123456789!,.<>=+-/?;'~!@#$%^&[]{}()*\n");
   	    	     while (st.hasMoreTokens()) 
   	    	          { Word[j]=st.nextToken();
   	    	       	    j++;
   	    	          } 
                   n=j; 
                   file.write(Analyse(Word,n,i)); 
                   LineNum=LineNum+getErrorNumber();
               } 
                
             file.write("The Error Word Number is "+LineNum+" !用时 "+(System.currentTimeMillis()-kk)+" 毫秒");   
		     file.close();  
		  } 
	      catch (IOException ee)  {;}  
		  textarea.setText("Check Success! ");  
	}
   
    
   
    
   public int getErrorNumber()
   {return(ErrorNum);
   }
   
}  

⌨️ 快捷键说明

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