亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? indextree.java

?? 用java完成的查字典程序
?? JAVA
字號:
import java.util.ArrayList;
import java.io.*;

 class Node {
//  public Node parent = null;
  private ArrayList<Node> childrenList = new ArrayList<Node>();
  private String word;  
  private int wordIndex;
  private boolean isRoot = false;
  public Node() {
  	word="";
  	wordIndex=0;
  }
  public Node(String word,int wordIndex) {
    this.word = word;
    this.wordIndex=wordIndex;
  }
  public void addChild(Node child) {
    childrenList.add(child);
  }
  public boolean isInternalNode() {
    if (childrenList != null)
        return true;
    else
        return false;
  }
  public boolean isLeaf() {
    if (childrenList == null)
        return true;
    else
        return false;
  }
  public boolean isRoot() {
    return isRoot;
  }
  public void removeChildAt(int index) {
    childrenList.remove(index);
  }
  public void setRoot() {
    isRoot = true;
  }
  public ArrayList<Node> getChildrenList() {
    return childrenList;
  }
  public String getWord() {
	return word;
  }  
  public int getWordIndex() {	
	return wordIndex;
  }
}


public class IndexTree{
	private Node root;	
	public IndexTree(){
	}
	public Node genarateTree(File indexFile){
		indexFile=new File("index.txt");
		try{
			BufferedReader br=new BufferedReader(new FileReader(indexFile));
			String line=br.readLine();
			String word=line.substring(0,line.indexOf(" "));
			int wordIndex=Integer.parseInt(line.substring(line.indexOf(" ")+1));
			root=new Node(word,wordIndex);
			root.setRoot();
//			ArrayList<Node>  rootChildList=root.getChildrenList();
			char lastRootChar='0';
			Node middleNode=null;
			char cstart='1';
			while(line!=null){
				word=line.substring(0,line.indexOf(" "));
				wordIndex=Integer.parseInt(line.substring(line.indexOf(" ")+1));
				Node newNode=new Node(word,wordIndex);

				cstart=word.charAt(0);
				if (Character.isUpperCase(cstart))
				   cstart=Character.toLowerCase(cstart);

				if(cstart!=lastRootChar){
					lastRootChar=cstart;
				    middleNode=new Node(newNode.getWord(),newNode.getWordIndex());
				    root.addChild(middleNode);	
				}
			    middleNode.addChild(newNode);
			    
			    line=br.readLine();
			}
			br.close();
		}
		catch(IOException e){
			e.printStackTrace();
		}
		return root;
	}
	
	
	private boolean checkWord(String word){
		String stemp=word.trim().toLowerCase();
		for(int i=0;i<stemp.length();i++){
			if(stemp.charAt(i)>'z'||stemp.charAt(i)<'a')
			return false;
		}
		return true;
	}
	
	
	public int GetIndex(String word){
		if(!checkWord(word)){
			System.out.println("not a English word...");
			return -2;
		}
		char startChar=word.charAt(0);
		Node middleNode=null;
		ArrayList rootList=root.getChildrenList();
		if (Character.isUpperCase(startChar))
			startChar=Character.toLowerCase(startChar);
		for(int i=0;i<rootList.size();i++){
			char mchar=((Node)rootList.get(i)).getWord().charAt(0);
			if (Character.isUpperCase(mchar))
			    mchar=Character.toLowerCase(mchar);
			if(mchar==startChar){
			    middleNode=(Node)rootList.get(i);
			}
		}
//		Node middleNode=(Node)root.getChildrenList().get(startChar-'a');
		ArrayList<Node> middleNodeList=middleNode.getChildrenList();
		int end=middleNodeList.size()-1;//System.out.println(end);
/*		for(int i=0;i<=end;i++){
			System.out.print(((Node)middleNodeList.get(i)).getWord());
			System.out.print("  ");
			System.out.println(((Node)middleNodeList.get(i)).getWordIndex());
		}*/
		int start=0;
		int middle=(start+end)/2;
		boolean find=false;
		int wordIndex=-1;
		Node leafNode=(Node)middleNodeList.get(end);
			if(leafNode.getWord().equals(word)){
				wordIndex=leafNode.getWordIndex();
//				System.out.println(word+" "+wordIndex);
				find=true;
			}
		while(end>start+1){//System.out.print("start"+start);System.out.print("  end"+end);System.out.print("  middle  "+middle);System.out.println();
		    leafNode=(Node)middleNodeList.get(middle);
			if(leafNode.getWord().equals(word)){
				wordIndex=leafNode.getWordIndex();
//				System.out.println(word+" "+wordIndex);
				find=true;
				break;
			}
			else{
				if(word.compareTo(leafNode.getWord())<0){
					end=middle;
					middle=(start+end)/2;
				}
				else{
					start=middle;
					middle=(start+end)/2;
				}				    
		    }   
	   }
	   if(find==true){
//	   	 System.out.println("找到....");
	   }
	   else{
//	     System.out.println("未找到,準備加入詞典");
//	     if(((Node)middleNodeList.get(end)).getWord().compareTo(word)<0)
//	     	wordIndex=-((Node)middleNodeList.get(end)).getWordIndex()-1;
//	     else
//	        wordIndex=-((Node)middleNodeList.get(start)).getWordIndex()-1;
	   }
	   return wordIndex;
   }
   public String lookUp(int wordIndex){
   	  File dicFile=new File("dictionary.txt");
   	  String result="";
   	  String phoneticSymbol="";
   	  String part="";
   	  String explanation="";
   	  try{
	   	  RandomAccessFile raf=new RandomAccessFile(dicFile,"rw");
	   	  raf.seek(wordIndex);
	   	  result=new String(raf.readLine().getBytes("ISO8859-1"),"GB2312");
	   	  String word=result.substring(0,result.indexOf("["));
	   	  phoneticSymbol=result.substring(result.indexOf("["),result.indexOf("]")+1);
	   	  part=result.substring(result.indexOf("]")+1,result.indexOf(".")+1);
	   	  explanation=result.substring(result.lastIndexOf(".")+1);
	   	  raf.close();
	   	  System.out.println("單詞: "+word);
	   	  System.out.println("音標: "+phoneticSymbol);
	   	  System.out.println("詞性: "+part);
	   	  System.out.println("解釋: "+explanation);
	  }catch(IOException e){
	  	e.printStackTrace();
	  }          
   	  return result;
   }
   public boolean lookUpInExtra(String word){
   	  File extraFile=new File("extra.txt");
   	  String result="";
   	  String phoneticSymbol="";
   	  String part="";
   	  String explanation="";
   	  try{
   	  	BufferedReader br=new BufferedReader(new FileReader(extraFile));
   	  	String line="";
   	  	while((line=br.readLine())!=null){
   	  		if(line.substring(0,line.indexOf("[")).trim().equals(word)){
   	  			result=line;
   	  			phoneticSymbol=result.substring(result.indexOf("["),result.indexOf("]")+1);
			   	part=result.substring(result.indexOf("]")+1,result.indexOf(".")+1);
			   	explanation=result.substring(result.lastIndexOf(".")+1);
			   	  System.out.println("單詞: "+word);
			   	  System.out.println("音標: "+phoneticSymbol);
			   	  System.out.println("詞性: "+part);
			   	  System.out.println("解釋: "+explanation);
			   	br.close();  
   	  			return true;
   	  		}
   	  	}  	  	
   	  }catch(IOException e){
	  	e.printStackTrace();
	  }
	  return false;
   }

}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
波多野结衣亚洲| 日韩一区和二区| 制服.丝袜.亚洲.中文.综合| 久久在线观看免费| 亚洲一二三四在线| 成人高清在线视频| 精品欧美黑人一区二区三区| 亚洲国产欧美日韩另类综合| 国产91精品一区二区麻豆亚洲| 欧美一级日韩免费不卡| 亚洲精品乱码久久久久久| 国产高清无密码一区二区三区| 日韩欧美国产综合| 天堂一区二区在线| 欧美午夜不卡视频| 一区二区三区蜜桃| 99re这里只有精品6| 国产精品全国免费观看高清| 国产乱码字幕精品高清av | 婷婷一区二区三区| 日本韩国一区二区| 综合久久给合久久狠狠狠97色| 国产99久久久国产精品| 久久综合狠狠综合久久综合88| 久久精品国产一区二区三| 91麻豆精品国产91久久久使用方法 | 国产福利精品一区| 精品av综合导航| 国产在线不卡视频| 国产欧美一区二区在线| 国产91丝袜在线观看| 国产农村妇女毛片精品久久麻豆 | 精品影视av免费| 日韩欧美在线影院| 精品亚洲国产成人av制服丝袜| 日韩视频一区二区三区| 经典三级一区二区| 国产色一区二区| 91影院在线观看| 亚洲国产cao| 欧美一区二区三区系列电影| 奇米四色…亚洲| 精品久久人人做人人爽| 国产69精品久久久久毛片 | 艳妇臀荡乳欲伦亚洲一区| 开心九九激情九九欧美日韩精美视频电影| 91.com视频| 久久99国产乱子伦精品免费| 欧美成人三级电影在线| 成人免费高清在线观看| 亚洲欧美区自拍先锋| 欧美日韩视频在线第一区 | 91麻豆精东视频| 亚洲福利视频一区二区| 日韩欧美国产麻豆| 国产91对白在线观看九色| 一区二区三区在线观看视频| 91精品国产综合久久婷婷香蕉| 国产麻豆精品视频| 亚洲精品五月天| 日韩视频一区在线观看| 不卡视频一二三| 天堂一区二区在线免费观看| 久久久久88色偷偷免费| 在线观看日韩av先锋影音电影院| 日韩成人av影视| 亚洲国产精品av| 欧美蜜桃一区二区三区| 国产suv一区二区三区88区| 亚洲精品国产一区二区三区四区在线| 宅男在线国产精品| fc2成人免费人成在线观看播放| 亚洲电影欧美电影有声小说| 国产日韩成人精品| 欧美精品九九99久久| 播五月开心婷婷综合| 日韩一区精品字幕| 亚洲欧洲av在线| 精品国产凹凸成av人网站| 91麻豆国产香蕉久久精品| 另类人妖一区二区av| 亚洲在线中文字幕| 国产精品天天摸av网| 日韩欧美一区二区三区在线| 91在线精品一区二区| 国产一区二区不卡| 日本欧美肥老太交大片| 亚洲影院免费观看| 国产精品视频一二三| 精品国产污污免费网站入口| 日本国产一区二区| fc2成人免费人成在线观看播放| 久久国产生活片100| 天天免费综合色| 亚洲欧美视频在线观看| 欧美激情综合在线| 久久久久久久久免费| 日韩欧美在线1卡| 7777精品伊人久久久大香线蕉的 | 国产曰批免费观看久久久| 亚洲3atv精品一区二区三区| 亚洲欧美日韩国产另类专区 | 久久精品一区二区| 精品国产一区二区三区久久久蜜月 | 国产精品乱码人人做人人爱| 精品国产一区二区三区忘忧草 | 亚洲免费观看高清完整版在线观看| 国产亚洲一区二区三区四区| 精品乱码亚洲一区二区不卡| 日韩精品一区二区三区四区视频| 欧美精品在线一区二区三区| 欧美日韩在线直播| 欧美精品v日韩精品v韩国精品v| 欧美亚洲综合一区| 欧美色综合影院| 欧美日产国产精品| 欧美一级午夜免费电影| 日韩欧美一级在线播放| 2020日本不卡一区二区视频| 精品av久久707| 国产精品网站导航| 亚洲品质自拍视频| 亚洲成人黄色影院| 天堂一区二区在线免费观看| 美腿丝袜亚洲三区| 国产麻豆一精品一av一免费| 国产成人无遮挡在线视频| 成人永久看片免费视频天堂| 99久久精品99国产精品| 在线精品视频免费播放| 欧美日韩国产综合久久| 日韩欧美国产电影| 国产午夜精品一区二区三区视频 | 91国偷自产一区二区使用方法| 色偷偷久久人人79超碰人人澡| 欧美性猛交xxxx乱大交退制版 | 欧美色视频一区| 欧美一个色资源| 国产调教视频一区| 一卡二卡三卡日韩欧美| 六月丁香婷婷久久| 99视频国产精品| 制服丝袜日韩国产| 国产精品久久久久一区| 亚洲综合色视频| 国产资源精品在线观看| 91亚洲国产成人精品一区二区三| 欧美日韩国产另类不卡| 久久久久久久久久久99999| 亚洲欧洲精品一区二区精品久久久 | 56国语精品自产拍在线观看| 久久你懂得1024| 国产精品灌醉下药二区| 亚洲国产精品久久人人爱| 国产中文一区二区三区| 在线观看成人免费视频| 久久精品一区二区三区av| 亚洲高清中文字幕| 国产制服丝袜一区| 精品一区中文字幕| 成人免费高清视频在线观看| 色综合中文字幕国产| 欧美成人女星排行榜| 亚洲欧美另类小说视频| 国产米奇在线777精品观看| 欧美午夜免费电影| 国产精品美女久久久久高潮| 美女视频黄免费的久久 | 91香蕉视频黄| 久久久久久一级片| 日韩在线一区二区三区| 91猫先生在线| 国产精品色眯眯| 精品亚洲国内自在自线福利| 欧美高清视频www夜色资源网| 亚洲人成网站色在线观看| 国产麻豆视频精品| 精品乱码亚洲一区二区不卡| 亚洲福利视频一区| 91毛片在线观看| 国产精品麻豆一区二区| 国产经典欧美精品| 91精品国产综合久久久蜜臀图片 | 99re在线视频这里只有精品| 精品成人一区二区| 麻豆一区二区三| 日韩欧美色电影| 捆绑调教一区二区三区| 91精品国产综合久久香蕉麻豆| 亚洲国产精品一区二区www| 色欧美日韩亚洲| 一区二区三区美女| 欧美伊人久久久久久久久影院 | 日韩久久久精品| 美女视频黄 久久| 欧美电视剧在线看免费| 美女爽到高潮91| 久久久久综合网| 国产剧情一区二区| 久久理论电影网|