?? numgenerator.java
字號:
package org.zblog.zenghelper.dbtool;
/**
* <br><strong>Z英語學習助手-WordGroup的RSId計算類</strong><br>
* <br>該類主要用于根據word計算出它所對應WordGroup倉庫中的RSId,一般是用在查詢時,進行快
* 速定位,直接將查詢范圍縮小700倍或1000倍左右.
* @author <a href="mailto:zcw@zblog.org">朱傳偉</a><br>
* <a href="http://www.zblog.org">www.zblog.org</a></p>
* @version <strong>ZEnHelper</strong> Ver 1.0
*/
public class NumGenerator {
private DbTool dt=null;
private static NumGenerator ng=null;
private NumGenerator(){
dt=DbTool.getInstance();
}
/**
* 返回NumGenerator實例
* @return NumGenerator
*/
public synchronized static NumGenerator getInstance(){
if(ng==null)
ng=new NumGenerator();
return ng;
}
/**
* 根據參數String word,以及boolean en是否英文單詞標志,計算出這個word所對應的
* WordGroup中的RSId
* <br>En編號范圍為:0--(26*26-1)=675
* <br>Cn編號范圍為:0--999
* @param cnWord String
* @return int
*/
public int getWordNum(String word,boolean en){
word=word.toLowerCase();
String ts=null;
int c=word.charAt(0);
int result=0;
if(en){
int d=0;
if(word.length()>1){
d=word.charAt(1)-'a';
}
d=(c-'a')*26+d;
if(d>675){
ts=""+d;
d=Integer.parseInt(ts.substring(ts.length()-2));
}
result=d+dt.enFirstId;
}
else{
if(c>999){
ts=""+(c+0);
c=Integer.parseInt(ts.substring(ts.length()-3));
}
result=c+dt.cnFirstId;
}
return result;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -