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

📄 numgenerator.java

📁 一個手機程序(電子詞典),一個不可多得的源碼程序,是學習J2ME的好東東.
💻 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 + -