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

📄 a.java

📁 二维QR条码项目的J2ME源代码。软件包括1.核心QR码编/解库
💻 JAVA
字号:
// Decompiled by DJ v3.9.9.91 Copyright 2005 Atanas Neshkov  Date: 12/5/2006 3:39:35 PM
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3) 

package jp.sourceforge.qrcode.data;


public final class a
{

    public final boolean a(int k, int l)
    {
        return e[k][l];
    }

    public final int a()
    {
        return i[a - 1][b];
    }

    public final int b()
    {
        return j[a - 1][b];
    }

    public a(boolean aflag[][])
    {
        e = aflag;
        f = aflag.length;
        g = aflag[0].length;
        h();
    }

    private void h()
    {
        a = (f - 17) / 4;
        jp.sourceforge.qrcode.geom.a aa[][] = new jp.sourceforge.qrcode.geom.a[1][1];
        int ai[] = new int[1];
        if(a >= 2 && a <= 6)
        {
            (ai = new int[2])[0] = 6;
            ai[1] = 10 + 4 * a;
            aa = new jp.sourceforge.qrcode.geom.a[ai.length][ai.length];
        } else
        if(a >= 7 && a <= 13)
        {
            (ai = new int[3])[0] = 6;
            ai[1] = 8 + 2 * a;
            ai[2] = 10 + 4 * a;
            aa = new jp.sourceforge.qrcode.geom.a[ai.length][ai.length];
        }
        for(int k = 0; k < ai.length; k++)
        {
            for(int l = 0; l < ai.length; l++)
                aa[l][k] = new jp.sourceforge.qrcode.geom.a(ai[l], ai[k]);

        }

        h = aa;
        d = i();
    }

    public final int c()
    {
        return a;
    }

    private int i()
    {
        int k = 0;
        byte byte0 = 0;
        int l;
        if((l = c()) == 1)
            k = 202;
        else
        if(l >= 2 && l <= 6)
            k = 219 + 8 * l;
        else
        if(l >= 7 && l <= 13)
            k = 334 + 8 * l;
        else
        if(l >= 14 && l <= 20)
            k = 499 + 8 * l;
        if(l <= 6)
            byte0 = 31;
        else
            byte0 = 67;
        int i1;
        return i1 = (f * f - k - byte0) / 8;
    }

    public final int d()
    {
        return d;
    }

    public final void a(boolean aflag[])
    {
        if(!aflag[4])
        {
            if(aflag[3])
                b = 0;
            else
                b = 1;
        } else
        if(aflag[3])
            b = 2;
        else
            b = 3;
        for(int k = 2; k >= 0; k--)
            if(aflag[k])
                c += 1 << k;

    }

    public final int e()
    {
        return c;
    }

    public final int f()
    {
        return f;
    }

    public final int g()
    {
        return g;
    }

    public final void b(int k, int l)
    {
        e[k][l] = !e[k][l];
    }

    public final boolean c(int k, int l)
    {
        if(k < 9 && l < 9)
            return true;
        if(k > f() - 9 && l < 9)
            return true;
        if(k < 9 && l > g() - 9)
            return true;
        if(a >= 7)
        {
            if(k > f() - 12 && l < 6)
                return true;
            if(k < 6 && l > g() - 12)
                return true;
        }
        if(k == 6 || l == 6)
            return true;
        jp.sourceforge.qrcode.geom.a aa[][];
        int i1 = (aa = h).length;
        for(int j1 = 0; j1 < i1; j1++)
        {
            for(int k1 = 0; k1 < i1; k1++)
                if((k1 != 0 || j1 != 0) && (k1 != i1 - 1 || j1 != 0) && (k1 != 0 || j1 != i1 - 1) && Math.abs(aa[k1][j1].a - k) < 3 && Math.abs(aa[k1][j1].b - l) < 3)
                    return true;

        }

        return false;
    }

    int a;
    int b;
    int c;
    int d;
    boolean e[][];
    int f;
    int g;
    jp.sourceforge.qrcode.geom.a h[][];
    final int i[][] = {
        {
            7, 10, 13, 17
        }, {
            10, 16, 22, 28
        }, {
            15, 26, 36, 44
        }, {
            20, 36, 52, 64
        }, {
            26, 48, 72, 88
        }, {
            36, 64, 96, 112
        }, {
            40, 72, 108, 130
        }, {
            48, 88, 132, 156
        }, {
            60, 110, 160, 192
        }, {
            72, 130, 192, 224
        }, {
            80, 150, 224, 264
        }, {
            96, 176, 260, 308
        }, {
            104, 198, 288, 352
        }
    };
    final int j[][] = {
        {
            1, 1, 1, 1
        }, {
            1, 1, 1, 1
        }, {
            1, 1, 2, 2
        }, {
            1, 2, 2, 4
        }, {
            1, 2, 4, 4
        }, {
            2, 4, 4, 4
        }, {
            2, 4, 6, 5
        }, {
            2, 4, 6, 6
        }, {
            2, 5, 8, 8
        }, {
            4, 5, 8, 8
        }, {
            4, 5, 8, 11
        }, {
            4, 8, 10, 11
        }, {
            4, 9, 12, 16
        }
    };
}

⌨️ 快捷键说明

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