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

📄 a.java

📁 MobileDict
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                    {
                        if(abyte1[j5] == 0)
                            j4 = 1;
                    } else
                    if(abyte1[j5] == 0 && abyte1[j5 + 1] == 0)
                        j4 = 1;
            if(j4 == 0)
            {
                if(j5 == 0)
                {
                    flag1 = false;
                    flag = true;
                } else
                {
                    ai[i2] = i5;
                    ai1[i2] = i4;
                    i2++;
                }
                continue; /* Loop/switch isn't completed */
            }
            if(j4 > 0)
            {
                if(i4 == l3)
                {
                    flag1 = false;
                    flag = false;
                } else
                {
                    k3 = i4 + 1;
                    j5 = 0;
                    continue;
                }
                continue; /* Loop/switch isn't completed */
            }
            if(i4 == k3)
            {
                flag = false;
                continue; /* Loop/switch isn't completed */
            }
            l3 = i4 - 1;
            j5 = 0;
        } while(true);
_L2:
        k.drawString(MobileDict.j.g, 50, 34, 17);
        if(flag && l == 0)
        {
            a(0, i2, ai);
        } else
        {
            if(flag)
                flag = false;
            else
                ai1[i2++] = i4;
            _fldgoto = a(2, ai1, i2);
        }
        for(int l2 = 0; l2 < i2; l2++)
            b[l2] = ai1[l2];

        _fldvoid = i2;
        file.close(j2);
          goto _L7
        IOException ioexception;
        ioexception;
_L7:
        return flag;
        if(true) goto _L9; else goto _L8
_L8:
    }

    private int a(byte abyte0[], byte abyte1[], int i1)
    {
        for(int j1 = 0; j1 < i1; j1++)
        {
            int k1 = abyte0[j1];
            if(k1 < 0)
                k1 += 256;
            int l1 = abyte1[j1];
            if(l1 < 0)
                l1 += 256;
            if(k1 > l1)
                return 1;
            if(k1 < l1)
                return -1;
        }

        return 0;
    }

    private int a(int i1, int ai[], int j1)
    {
        int k1;
        if(_fldnew == 0)
            k1 = _fldbyte;
        else
            k1 = n;
        for(int l1 = 0; l1 < 6; l1++)
        {
            _fldcase[l1] = 0;
            a[l1] = 0;
        }

        if(ai[0] - i1 < 0)
            i1 = ai[0];
        if(ai[0] + (5 - i1) >= k1)
            i1 = (6 + ai[0]) - k1;
        for(int i2 = 0; i2 < j1; i2++)
            q[i1][i2] = ai[i2];

        _fldcase[i1] = j1;
        byte byte0 = -1;
        int j3 = i1;
        boolean flag = false;
        int l3 = 6;
label0:
        do
        {
            if(l3 > 0)
            {
                a(2, j3, ((int []) (null)));
                j3 += byte0;
                if(j3 < 0)
                {
                    byte0 = 1;
                    j3 = i1 + 1;
                }
                int k3 = j3 - byte0;
                if(--l3 > 0)
                {
                    if(byte0 < 0)
                    {
                        if(a[k3] == 0)
                        {
                            q[j3][0] = q[k3][0] - 1;
                            _fldcase[j3] = 1;
                            continue;
                        }
                        int j2 = a[k3];
                        do
                        {
                            if(j2 < 0)
                                continue label0;
                            if(j2 > 0)
                            {
                                if(q[k3][j2] > 0)
                                {
                                    _fldcase[j3] = j2 + 1;
                                    q[j3][j2] = q[k3][j2] - 1;
                                    int l2 = j2 - 1;
                                    while(l2 >= 0) 
                                    {
                                        q[j3][l2] = q[k3][l2];
                                        l2--;
                                    }
                                    continue label0;
                                }
                            } else
                            {
                                q[j3][0] = q[k3][0] - 1;
                                _fldcase[j3] = 1;
                            }
                            j2--;
                        } while(true);
                    }
                    if(a[k3] == 0)
                    {
                        q[j3][0] = q[k3][0] + 1;
                        _fldcase[j3] = 1;
                        continue;
                    }
                    int k2 = a[k3];
                    do
                    {
                        if(k2 < 0)
                            continue label0;
                        if(k2 > 0)
                        {
                            if(q[k3][k2] < _fldtry[k3][k2] - 1)
                            {
                                _fldcase[j3] = k2 + 1;
                                q[j3][k2] = q[k3][k2] + 1;
                                int i3 = k2 - 1;
                                while(i3 >= 0) 
                                {
                                    q[j3][i3] = q[k3][i3];
                                    i3--;
                                }
                                continue label0;
                            }
                        } else
                        {
                            q[j3][0] = q[k3][0] + 1;
                            _fldcase[j3] = 1;
                        }
                        k2--;
                    } while(true);
                }
            }
            return i1;
        } while(true);
    }

    private void a(int i1, int j1, int ai[])
    {
        int k1;
        int l1;
        int i2;
        if(_fldnew == 0)
        {
            k1 = s;
            l1 = p;
            i2 = g;
        } else
        {
            k1 = e;
            l1 = d;
            i2 = _fldelse;
        }
        int l2 = 0;
        int j3 = 0;
        byte abyte0[] = new byte[400];
        byte abyte1[] = new byte[i2];
        if(i1 == 2)
            a[j1] = 0;
        File file = new File();
        try
        {
            int k3;
            if(_fldnew == 0)
                k3 = file.open("dict");
            else
                k3 = file.open("cdict");
            int l3 = k1;
            boolean flag = true;
            int i3;
            if(i1 == 0)
                i3 = j1;
            else
                i3 = _fldcase[j1];
            int j2 = 0;
            do
            {
                if(j2 > 0)
                {
                    if(i1 > 0 || i1 == 0 && j2 >= i3)
                    {
                        if(_fldnew == 1)
                            l2++;
                        if(abyte1[l2] == 3)
                        {
                            int i4 = abyte1[l2 + 1];
                            if(i4 < 0)
                                i4 += 256;
                            int k4 = abyte1[l2 + 2];
                            if(k4 < 0)
                                k4 += 256;
                            i4 += k4 * 256;
                            k4 = abyte1[l2 + 3] & 0xf;
                            i4 += k4 * 0x10000;
                            l3 = l1 + i4 * i2;
                        } else
                        {
                            int j4 = abyte1[l2 + 1] & 0xf;
                            l3 += j4 * i2;
                        }
                    }
                    if(i1 == 2)
                    {
                        if(j2 <= i3)
                        {
                            q[j1][_fldcase[j1]] = 0;
                            _fldcase[j1]++;
                        }
                        int l4 = abyte1[i2 - 1];
                        if(l4 < 0)
                            l4 += 256;
                        l4 >>= 4;
                        _fldtry[j1][a[j1] + 1] = l4 + 1;
                        a[j1]++;
                    }
                }
                if(j2 < i3)
                    if(i1 == 0)
                        l3 = ai[j2];
                    else
                        l3 += q[j1][j2] * i2;
                file.seek(k3, l3);
                file.read(k3, abyte1, 0, i2);
                boolean flag1 = true;
                if(_fldnew == 0)
                {
                    l2 = 0;
                    do
                    {
                        if(l2 >= i2 || i1 == 2 && abyte1[l2] == 0)
                            break;
                        if(abyte1[l2] < 16 && abyte1[l2] > 0)
                        {
                            flag1 = false;
                            break;
                        }
                        abyte0[j3] = abyte1[l2];
                        l2++;
                        j3++;
                    } while(true);
                } else
                {
                    for(l2 = 0; l2 < i2;)
                    {
                        if(abyte1[l2] == 0 && l2 + 1 < i2)
                        {
                            if(i1 == 2 && abyte1[l2 + 1] == 0)
                                break;
                            if(abyte1[l2 + 1] < 16 && abyte1[l2 + 1] > 0)
                            {
                                flag1 = false;
                                break;
                            }
                            abyte0[j3++] = abyte1[l2++];
                        }
                        abyte0[j3] = abyte1[l2];
                        l2++;
                        j3++;
                    }

                }
                if(flag1)
                    break;
                j2++;
            } while(true);
            file.close(k3);
            if(i1 < 2)
            {
                if(i1 == 1)
                {
                    for(int k2 = 0; k2 < _fldcase[j1]; k2++)
                        b[k2] = q[j1][k2];

                    _fldvoid = _fldcase[j1];
                }
                _flddo = new String(abyte0, 0, j3);
                if(_fldnew == 0)
                {
                    int i5 = _flddo.indexOf(0);
                    int k5 = _flddo.indexOf(0, i5 + 1);
                    m = _flddo.substring(0, i5);
                    o = _flddo.substring(i5 + 1, k5);
                    _flddo = _flddo.substring(k5 + 1, j3);
                } else
                {
                    int j5 = _flddo.indexOf("\000\0");
                    m = e.a(_flddo.getBytes(), j5);
                    o = "";
                    _flddo = _flddo.substring(j5 + 1, j3);
                }
                _flddo.trim();
                m.trim();
                o.trim();
                if(_fldnew == 0)
                {
                    if(MobileDict.a)
                        _flddo = String.valueOf(String.valueOf(_flddo)).concat(" ");
                    try
                    {
                        _flddo = new String(_flddo.getBytes(), MobileDict.j._fldcase);
                    }
                    catch(UnsupportedEncodingException unsupportedencodingexception) { }
                    if(MobileDict.a)
                        _flddo = e.a(_flddo);
                    _flddo = e._mthfor(_flddo);
                }
                if(o.compareTo("") != 0)
                {
                    o = o.replace('J', 'u');
                    o = o.replace('I', 'i');
                    o = o.replace('^', 'g');
                    o = o.replace('?', 'u');
                    o = o.replace('@', 's');
                }
            } else
            if(i1 == 2)
            {
                if(_fldnew == 0)
                    j[j1] = new String(abyte0, 0, j3);
                else
                    j[j1] = e.a(abyte0, j3);
                j[j1].trim();
            }
        }
        catch(IOException ioexception) { }
    }

    public static int _fldnew;
    public static Display h;
    public static MobileDict c;
    private static int l;
    private static int _fldgoto;
    private static int s;
    private static int p;
    private static int g;
    private static int _fldbyte;
    private static int e;
    private static int d;
    private static int _fldelse;
    private static int n;
    private static String m;
    private static String o;
    private static String _flddo;
    private static int b[] = new int[10];
    private static int _fldvoid;
    private static String j[] = {
        "", "", "", "", "", ""
    };
    private static int q[][] = new int[6][10];
    private static int _fldtry[][] = new int[6][10];
    private static int _fldcase[] = {
        0, 0, 0, 0, 0, 0
    };
    private static int a[] = {
        0, 0, 0, 0, 0, 0
    };
    private static Graphics k;
    private static List i;
    private static TextBox _fldlong;
    private static int _fldif;
    private static boolean _fldfor = false;
    private static Command _fldchar[] = new Command[5];
    private static Command r[] = new Command[6];
    private static Command _fldnull;
    public static Image _fldint[];
    public static Vector f = new Vector();

}

⌨️ 快捷键说明

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