Avatar billede mikze Nybegynder
28. februar 2006 - 20:20 Der er 9 kommentarer og
1 løsning

Scripts skal sættes sammen til 1

Hej, jeg har et encode script. De 2 scripts som jeg viser er afhængige af hinanden, men jeg vil have dem i en fil:

200 point udgives.



-------------- QStringBuffer.java ------------

// Decompiled by DJ v3.9.9.91 Copyright 2005 Atanas Neshkov  Date: 28-02-2006 20:17:28
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3)

package JUtil;


// Referenced classes of package JUtil:
//            SBUtil

public final class QStringBuffer
{

    public QStringBuffer()
    {
        this(16);
    }

    public QStringBuffer(int i)
    {
        capacity = 16;
        value = new char[i];
        capacity = i;
    }

    public QStringBuffer(String s)
    {
        this(s.length() + 16);
        append(s);
    }

    public int length()
    {
        return count;
    }

    public int capacity()
    {
        return capacity;
    }

    private void ensureCapacity(int i)
    {
        if(i > capacity)
        {
            capacity = (capacity + 1) * 2;
            if(i > capacity)
                capacity = i;
            char ac[] = new char[capacity];
            System.arraycopy(value, 0, ac, 0, count);
            value = ac;
        }
    }

    public void setLength(int i)
    {
        if(i < 0)
            throw new StringIndexOutOfBoundsException(i);
        ensureCapacity(i);
        if(count < i)
            for(; count < i; count++)
                value[count] = '\0';

        count = i;
    }

    public char charAt(int i)
    {
        if(i < 0 || i >= count)
            throw new StringIndexOutOfBoundsException(i);
        else
            return value[i];
    }

    public void getChars(int i, int j, char ac[], int k)
    {
        if(i < 0 || i >= count)
            throw new StringIndexOutOfBoundsException(i);
        if(j < 0 || j > count)
            throw new StringIndexOutOfBoundsException(j);
        if(i < j)
            System.arraycopy(value, i, ac, k, j - i);
    }

    public void setCharAt(int i, char c)
    {
        if(i < 0 || i >= count)
        {
            throw new StringIndexOutOfBoundsException(i);
        } else
        {
            value[i] = c;
            return;
        }
    }

    public QStringBuffer append(Object obj)
    {
        return append(String.valueOf(obj));
    }

    public QStringBuffer append(String s)
    {
        if(s == null)
            s = String.valueOf(s);
        int i = s.length();
        ensureCapacity(count + i);
        s.getChars(0, i, value, count);
        count += i;
        return this;
    }

    public QStringBuffer append(char ac[])
    {
        int i = ac.length;
        ensureCapacity(count + i);
        System.arraycopy(ac, 0, value, count, i);
        count += i;
        return this;
    }

    public QStringBuffer append(char ac[], int i, int j)
    {
        ensureCapacity(count + j);
        System.arraycopy(ac, i, value, count, j);
        count += j;
        return this;
    }

    public QStringBuffer append(boolean flag)
    {
        return append(String.valueOf(flag));
    }

    public QStringBuffer append(char c)
    {
        ensureCapacity(count + 1);
        value[count++] = c;
        return this;
    }

    public QStringBuffer append(int i)
    {
        return append(String.valueOf(i));
    }

    public QStringBuffer append(long l)
    {
        return append(String.valueOf(l));
    }

    public QStringBuffer append(float f)
    {
        return append(String.valueOf(f));
    }

    public QStringBuffer append(double d)
    {
        return append(String.valueOf(d));
    }

    public QStringBuffer insert(int i, Object obj)
    {
        return insert(i, String.valueOf(obj));
    }

    public QStringBuffer insert(int i, String s)
    {
        if(i < 0 || i > count)
        {
            throw new StringIndexOutOfBoundsException();
        } else
        {
            int j = s.length();
            ensureCapacity(count + j);
            System.arraycopy(value, i, value, i + j, count - i);
            s.getChars(0, j, value, i);
            count += j;
            return this;
        }
    }

    public QStringBuffer insert(int i, char ac[])
    {
        if(i < 0 || i > count)
        {
            throw new StringIndexOutOfBoundsException();
        } else
        {
            int j = ac.length;
            ensureCapacity(count + j);
            System.arraycopy(value, i, value, i + j, count - i);
            System.arraycopy(ac, 0, value, i, j);
            count += j;
            return this;
        }
    }

    public QStringBuffer insert(int i, boolean flag)
    {
        return insert(i, String.valueOf(flag));
    }

    public QStringBuffer insert(int i, char c)
    {
        ensureCapacity(count + 1);
        System.arraycopy(value, i, value, i + 1, count - i);
        value[i] = c;
        count++;
        return this;
    }

    public QStringBuffer insert(int i, int j)
    {
        return insert(i, String.valueOf(j));
    }

    public QStringBuffer insert(int i, long l)
    {
        return insert(i, String.valueOf(l));
    }

    public QStringBuffer insert(int i, float f)
    {
        return insert(i, String.valueOf(f));
    }

    public QStringBuffer insert(int i, double d)
    {
        return insert(i, String.valueOf(d));
    }

    public QStringBuffer reverse()
    {
        int i = count - 1;
        for(int j = i - 1 >> 1; j >= 0; j--)
        {
            char c = value[j];
            value[j] = value[i - j];
            value[i - j] = c;
        }

        return this;
    }

    public String toString()
    {
        return new String(value, 0, count);
    }

    final char[] getValue()
    {
        return value;
    }

    public int replace(String s, String s1)
    {
        return replace(s, s1, false);
    }

    public int replace(String s, String s1, boolean flag)
    {
        int i = 0;
        if(s == null || s.length() == 0)
            return i;
        if(s1 == null)
            return i;
        try
        {
            int j = 0;
            int l = s.length();
            int i1 = s1.length();
            do
            {
                int k;
                if((k = indexOf(j, s)) < 0)
                    break;
                i++;
                if(l == i1)
                {
                    setString(k, s1);
                } else
                {
                    makeSpace(k, i1 - l);
                    setString(k, s1);
                }
                j = k + i1;
            } while(!flag);
        }
        catch(Exception exception) { }
        return i;
    }

    public QStringBuffer setString(int i, String s)
        throws Exception
    {
        s.getChars(0, s.length(), value, i);
        return this;
    }

    public QStringBuffer makeSpace(int i, int j)
    {
        if(j == 0)
            return this;
        try
        {
            int k = length();
            if(j < 0)
            {
                System.arraycopy(value, i - j, value, i, (k - i) + j);
                setLength(k + j);
            } else
            {
                setLength(k + j);
                System.arraycopy(value, i, value, i + j, k - i);
            }
        }
        catch(Exception exception) { }
        return this;
    }

    public int indexOf(String s)
    {
        return indexOf(0, s);
    }

    public int indexOf(int i, String s)
    {
        char c;
        int j;
        int k;
        int l;
        c = s.charAt(0);
        j = s.length();
        k = (length() - j) + 1;
        l = i;
_L1:
        int i1;
        if(l >= k)
            break MISSING_BLOCK_LABEL_105;
        if(value[l] != c)
            break MISSING_BLOCK_LABEL_95;
        for(i1 = 1; i1 < j && value[l + i1] == s.charAt(i1); i1++);
        if(i1 >= j)
            return l;
        l++;
          goto _L1
        Exception exception;
        exception;
        return -1;
    }

    public QStringBuffer htmlAppend(String s)
    {
        try
        {
            int k = s.length();
            for(int i = 0; i < k; i++)
            {
                char c = s.charAt(i);
                if(c == ' ' || c > '?' && c < '\177')
                {
                    append(c);
                } else
                {
                    int j = 0;
                    do
                    {
                        if(j >= SBUtil.htmlreplacers.length)
                            break;
                        if(SBUtil.htmlreplacers[j].charAt(0) == c)
                        {
                            append(SBUtil.htmlreplacers[j + 1]);
                            break;
                        }
                        j += 2;
                    } while(true);
                    if(j >= SBUtil.htmlreplacers.length)
                        append(c);
                }
            }

        }
        catch(Exception exception) { }
        return this;
    }

    public byte[] getBytes()
    {
        byte abyte0[] = new byte[length()];
        for(int i = 0; i < abyte0.length; i++)
            abyte0[i] = (byte)value[i];

        return abyte0;
    }

    private char value[];
    private int count;
    private int capacity;
}













---------- encodeString.java -----------
public class encodeString {

    public static void main(String args[])
    {
      String outprinteren = encodeString("test");
      System.out.print("Encoded string: " + outprinteren + "\n");
    }

    public static String encodeString(String s)
    {
        return encodeString(new QStringBuffer(), s).toString();
    }

    public static QStringBuffer encodeString(QStringBuffer qstringbuffer, String s)
    {
        if(s == null)
            return qstringbuffer;
        for(int k = 0; k < s.length(); k++)
        {
            char c = s.charAt(k);
            if(c < ' ' || c > '\177' || c == '*' || c == '&' || c == ',' || c == quotechar)
            {
                qstringbuffer.append('&');
                int i = c;
                for(int l = 0; l < 4; l++)
                {
                    int j = (i & 0xf000) >> 12;
                    qstringbuffer.append((char)(65 + j));
                    i <<= 4;
                }

            } else
            {
                qstringbuffer.append(c);
            }
        }

        return qstringbuffer;
    }

}
Avatar billede kalp Novice
28. februar 2006 - 20:26 #1
hvis de bare skal sættes sammen så retter du første linje i QStringBuffer til

private final class QStringBuffer


og så kopirer du hele klassen ind lige før den sidste slut tuborgparantes i encodeString klassen..

altså før denne }
Avatar billede mikze Nybegynder
28. februar 2006 - 20:46 #2
Okay :-)

Hvad gør "package JUtil" ??
Avatar billede kalp Novice
28. februar 2006 - 20:51 #3
packages er en måde, at samle java klasser på... ellers ender man meget hurtigt med en lang liste af javaklasser...

med packages er det mere overskueligt...
Avatar billede mikze Nybegynder
28. februar 2006 - 21:02 #4
Ok.. er det lig med JAR filer??
Avatar billede kalp Novice
28. februar 2006 - 21:12 #5
nej for en Jar fil kan du køre seperat også, men ja ellers er det også en samling af klasser.

med packages vil jeg hellere kalde det at gruppere nogle klasser sammen... måske fordi de er inden for samme katagori eller område.
Avatar billede mikze Nybegynder
28. februar 2006 - 21:29 #6
Ok smid et svar, så accepterer jeg i morgen :-)
Avatar billede mikze Nybegynder
28. februar 2006 - 21:29 #7
Let tjente point ;-)
Avatar billede kalp Novice
28. februar 2006 - 21:40 #8
Det får du her:)
Avatar billede arne_v Ekspert
28. februar 2006 - 22:57 #9
package er en source code ting (det hedder namespace i C++/C#/VB.NET)

jar fil er en binary ting - en deployable enhed (svarer til exe/dll i native kode)

jeg ville nok undgaa en inner class og bare ligge den helt under den public class
(og lade den vaere package visible fremfor private)

hvorfor skal du rette i noget kode som du ikke selv har skrevet ?
Avatar billede mikze Nybegynder
01. marts 2006 - 10:14 #10
jeg sidder og øver mig i java. og man bliver bedre nu mere man øver sig, ligemeget om det er ens egne scripts eller ej. Det samme gælder for PHP :P.. men jeg sad fast her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester