Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как скомпилировать классы, которые указывают друг на друга 
V
    Опции темы
magikanin
Дата 1.11.2007, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 27.4.2007

Репутация: нет
Всего: 1



Я пока новичек в Java
Хочу спросить - у меня имееться 3 класса . Каждый из них в коде используют обьекты других 2 классов(хотя напрямую он не import эти классы).
С какого класса я бы не начал компилировать - error : cannot resolve symbol .
Кто виноват и что делать , то есть как скомпилировать ?
PM MAIL   Вверх
hydrant
Дата 1.11.2007, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 10.8.2007

Репутация: нет
Всего: нет



Привет!
Думаю, что при такой ошибке твой проект ещё не успел сильно разростись.

Выложи тескт всех трёх классов, так будет проще понять в чём дело (не забудь про тэг code).
PM MAIL   Вверх
magikanin
Дата 1.11.2007, 17:39 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 27.4.2007

Репутация: нет
Всего: 1



Ага smile
Исходники правда не мои - я их переделываю smile

class GF2nPolynomial
Код

/*
 * Copyright (c) 1998-2003 by The FlexiProvider Group,
 *                            Technische Universitaet Darmstadt 
 *
 * For conditions of usage and distribution please refer to the
 * file COPYING in the root directory of this package.
 *
 */

package projektas.math.finitefields;

import projektas.exceptions.DifferentFieldsException;
import projektas.exceptions.GF2nElementIsZeroException;

/**
 * This class implements polynomials over GF2nElements.
 * 
 * @author Oliver Seiler
 * @see GF2nElement
 */

public class GF2nPolynomial {

    private GF2nElement[] coeff; // keeps the coefficients of this polynomial

    private int size; // the size of this polynomial

    /**
     * Creates a new PolynomialGF2n of size <i>deg</i> and elem as
     * coefficients.
     * 
     * @param deg -
     *            the maximum degree + 1
     * @param elem -
     *            a GF2nElement
     */
    public GF2nPolynomial(int deg, GF2nElement elem) {
        int i;
        size = deg;
        coeff = new GF2nElement[size];
        for (i = 0; i < size; i++) {
            coeff[i] = (GF2nElement) elem.clone();
        }
    }

    /**
     * Creates a new PolynomialGF2n of size <i>deg</i>.
     * 
     * @param deg
     *            the maximum degree + 1
     */
    private GF2nPolynomial(int deg) {
        size = deg;
        coeff = new GF2nElement[size];
    }

    /**
     * Creates a new PolynomialGF2n by cloning the given PolynomialGF2n <i>a</i>.
     * 
     * @param a
     *            the PolynomialGF2n to clone
     */
    public GF2nPolynomial(GF2nPolynomial a) {
        int i;
        coeff = new GF2nElement[a.size];
        size = a.size;
        for (i = 0; i < size; i++) {
            coeff[i] = (GF2nElement) a.coeff[i].clone();
        }
    }

    /**
     * Creates a new PolynomialGF2n from the given Bitstring <i>polynomial</i>
     * over the GF2nField <i>B1</i>.
     * 
     * @param polynomial
     *            the Bitstring to use
     * @param B1
     *            the field
     */
    public GF2nPolynomial(GF2Polynomial polynomial, GF2nField B1) {
        size = B1.getDegree() + 1;
        coeff = new GF2nElement[size];
        int i;
        if ( B1 instanceof GF2nONBField) {
            for (i = 0; i < size; i++) {
                if (polynomial.testBit(i)) {
                    coeff[i] = new GF2nONBElement((GF2nONBField) B1, "ONE");
                } else {
                    coeff[i] = new GF2nONBElement((GF2nONBField) B1, "ZERO");
                }
            }
        } else if (B1 instanceof GF2nPolynomialField) {
            for (i = 0; i < size; i++) {
                if (polynomial.testBit(i)) {
                    coeff[i] = new GF2nPolynomialElement(
                            (GF2nPolynomialField) B1, "ONE");
                } else {
                    coeff[i] = new GF2nPolynomialElement(
                            (GF2nPolynomialField) B1, "ZERO");
                }
            }
        } else {
            throw new IllegalArgumentException(
                    "PolynomialGF2n(Bitstring, GF2nField): B1 must be "
                            + "an instance of GF2nONBField or GF2nPolynomialField!");
        }
    }

    public final void assignZeroToElements() {
        int i;
        for (i = 0; i < size; i++) {
            coeff[i].assignZero();
        }
    }

    /**
     * Returns the size (=maximum degree + 1) of this PolynomialGF2n. This is
     * not the degree, use getDegree instead.
     * 
     * @return the size (=maximum degree + 1) of this PolynomialGF2n.
     */
    public final int size() {
        return size;
    }

    /**
     * Returns the degree of this PolynomialGF2n.
     * 
     * @return the degree of this PolynomialGF2n.
     */
    public final int getDegree() {
        int i;
        for (i = size - 1; i >= 0; i--) {
            if (!coeff[i].isZero()) {
                return i;
            }
        }
        return -1;
    }

    /**
     * Enlarges the size of this PolynomialGF2n to <i>k</i> + 1.
     * 
     * @param k
     *            the new maximum degree
     */
    public final void enlarge(int k) {
        if (k <= size) {
            return;
        }
        int i;
        GF2nElement[] res = new GF2nElement[k];
        System.arraycopy(coeff, 0, res, 0, size);
        GF2nField f = coeff[0].getField();
        if (coeff[0] instanceof GF2nPolynomialElement) {
            for (i = size; i < k; i++) {
                res[i] = new GF2nPolynomialElement((GF2nPolynomialField) f,
                        "ZERO");
            }
        } else if (coeff[0] instanceof GF2nONBElement) {
            for (i = size; i < k; i++) {
                res[i] = new GF2nONBElement((GF2nONBField) f, "ZERO");
            }
        }
        size = k;
        coeff = res;
    }

    public final void shrink() {
        int i = size - 1;
        while (coeff[i].isZero() && (i > 0)) {
            i--;
        }
        i++;
        if (i < size) {
            GF2nElement[] res = new GF2nElement[i];
            System.arraycopy(coeff, 0, res, 0, i);
            coeff = res;
            size = i;
        }
    }

    /**
     * Sets the coefficient at <i>index</i> to <i>elem</i>.
     * 
     * @param index
     *            the index
     * @param elem
     *            the GF2nElement to store as coefficient <i>index</i>
     */
    public final void set(int index, GF2nElement elem) {
        if (!(elem instanceof GF2nPolynomialElement)
                && !(elem instanceof GF2nONBElement)) {
            throw new IllegalArgumentException(
                    "PolynomialGF2n.set f must be an "
                            + "instance of either GF2nPolynomialElement or GF2nONBElement!");
        }
        coeff[index] = (GF2nElement) elem.clone();
    }

    /**
     * Returns the coefficient at <i>index</i>.
     * 
     * @param index
     *            the index
     * @return the GF2nElement stored as coefficient <i>index</i>
     */
    public final GF2nElement at(int index) {
        return coeff[index];
    }

    /**
     * Returns true if all coefficients equal zero.
     * 
     * @return true if all coefficients equal zero.
     */
    public final boolean isZero() {
        int i;
        for (i = 0; i < size; i++) {
            if (coeff[i] != null) {
                if (!coeff[i].isZero()) {
                    return false;
                }
            }
        }
        return true;
    }

    public final boolean equals(Object other) {
        if (other == null || !(other instanceof GF2nPolynomial)) {
            return false;
        }

        GF2nPolynomial otherPol = (GF2nPolynomial) other;

        if (getDegree() != otherPol.getDegree()) {
            return false;
        }
        int i;
        for (i = 0; i < size; i++) {
            if (!coeff[i].equals(otherPol.coeff[i])) {
                return false;
            }
        }
        return true;
    }

    /**
     * Adds the PolynomialGF2n <tt>b</tt> to <tt>this</tt> and returns the
     * result in a new <tt>PolynomialGF2n</tt>.
     * 
     * @param b -
     *            the <tt>PolynomialGF2n</tt> to add
     * @return <tt>this + b</tt>
     * @throws DifferentFieldsException
     *             if <tt>this</tt> and <tt>b</tt> are not defined over the
     *             same field.
     */
    public final GF2nPolynomial add(GF2nPolynomial b)
            throws DifferentFieldsException {
        GF2nPolynomial result;
        if (size() >= b.size()) {
            result = new GF2nPolynomial(size());
            int i;
            for (i = 0; i < b.size(); i++) {
                result.coeff[i] = coeff[i].add(b.coeff[i]);
            }
            for (; i < size(); i++) {
                result.coeff[i] = coeff[i];
            }
        } else {
            result = new GF2nPolynomial(b.size());
            int i;
            for (i = 0; i < size(); i++) {
                result.coeff[i] = coeff[i].add(b.coeff[i]);
            }
            for (; i < b.size(); i++) {
                result.coeff[i] = b.coeff[i];
            }
        }
        return result;
    }

    /**
     * Multiplies the scalar <i>s</i> to each coefficient of this
     * PolynomialGF2n and returns the result in a new PolynomialGF2n.
     * 
     * @param s
     *            the scalar to multiply
     * @return <i>this</i> x <i>s</i>
     * @throws DifferentFieldsException
     *             if <tt>this</tt> and <tt>s</tt> are not defined over the
     *             same field.
     */
    public final GF2nPolynomial scalarMultiply(GF2nElement s)
            throws DifferentFieldsException {
        GF2nPolynomial result = new GF2nPolynomial(size());
        int i;
        for (i = 0; i < size(); i++) {
            result.coeff[i] = coeff[i].multiply(s); // result[i] =
            // a[i]*s
        }
        return result;
    }

    /**
     * Multiplies <i>this</i> by <i>b</i> and returns the result in a new
     * PolynomialGF2n.
     * 
     * @param b
     *            the PolynomialGF2n to multiply
     * @return <i>this</i> * <i>b</i>
     * @throws DifferentFieldsException
     *             if <tt>this</tt> and <tt>b</tt> are not defined over the
     *             same field.
     */
    public final GF2nPolynomial multiply(GF2nPolynomial b)
            throws DifferentFieldsException {
        int i, j;
        int aDegree = size();
        int bDegree = b.size();
        if (aDegree != bDegree) {
            throw new IllegalArgumentException(
                    "PolynomialGF2n.multiply: this and b must "
                            + "have the same size!");
        }
        GF2nPolynomial result = new GF2nPolynomial(aDegree * 2 - 1);
        for (i = 0; i < size(); i++) {
            for (j = 0; j < b.size(); j++) {
                if (result.coeff[i + j] == null) {
                    result.coeff[i + j] = coeff[i].multiply(b.coeff[j]);
                } else {
                    result.coeff[i + j] = result.coeff[i + j].add(coeff[i]
                            .multiply(b.coeff[j]));
                }
            }
        }
        return result;
    }

    /**
     * Multiplies <i>this</i> by <i>b</i>, reduces the result by <i>g</i> and
     * returns it in a new PolynomialGF2n.
     * 
     * @param b
     *            the PolynomialGF2n to multiply
     * @param g
     *            the modul
     * @return <i>this</i> * <i>b</i> mod <i>g</i>
     * @throws DifferentFieldsException
     *             if <tt>this</tt>, <tt>b</tt> and <tt>g</tt> are not
     *             all defined over the same field.
     */
    public final GF2nPolynomial multiplyAndReduce(GF2nPolynomial b,
            GF2nPolynomial g) throws DifferentFieldsException,
            GF2nElementIsZeroException {
        return multiply(b).reduce(g);
    }

    /**
     * Reduces <i>this</i> by <i>g</i> and returns the result in a new
     * PolynomialGF2n.
     * 
     * @param g -
     *            the modulus
     * @return <i>this</i> % <i>g</i>
     * @throws DifferentFieldsException
     *             if <tt>this</tt> and <tt>g</tt> are not defined over the
     *             same field.
     */
    public final GF2nPolynomial reduce(GF2nPolynomial g)
            throws DifferentFieldsException, GF2nElementIsZeroException {
        return remainder(g); // return this % g
    }

    /**
     * Shifts left <i>this</i> by <i>amount</i> and stores the result in
     * <i>this</i> PolynomialGF2n.
     * 
     * @param amount
     *            the amount to shift the coefficients
     */
    public final void shiftThisLeft(int amount) {
        if (amount > 0) {
            int i;
            int oldSize = size;
            GF2nField f = coeff[0].getField();
            enlarge(size + amount);
            for (i = oldSize - 1; i >= 0; i--) {
                coeff[i + amount] = coeff[i];
            }
            if (coeff[0] instanceof GF2nPolynomialElement) {
                for (i = amount - 1; i >= 0; i--) {
                    coeff[i] = new GF2nPolynomialElement(
                            (GF2nPolynomialField) f, "ZERO");
                }
            } else if (coeff[0] instanceof GF2nONBElement) {
                for (i = amount - 1; i >= 0; i--) {
                    coeff[i] = new GF2nONBElement((GF2nONBField) f, "ZERO");
                }
            }
        }
    }

    public final GF2nPolynomial shiftLeft(int amount) {
        if (amount <= 0) {
            return new GF2nPolynomial(this);
        }
        GF2nPolynomial result = new GF2nPolynomial(size + amount, coeff[0]);
        result.assignZeroToElements();
        int i;
        for (i = 0; i < size; i++) {
            result.coeff[i + amount] = coeff[i];
        }
        return result;
    }

    /**
     * Divides <i>this</i> by <i>b</i> and stores the result in a new
     * PolynomialGF2n[2], quotient in result[0] and remainder in result[1].
     * 
     * @param b
     *            the divisor
     * @return the quotient and remainder of <i>this</i> / <i>b</i>
     * @throws DifferentFieldsException
     *             if <tt>this</tt> and <tt>b</tt> are not defined over the
     *             same field.
     */
    public final GF2nPolynomial[] divide(GF2nPolynomial b)
            throws DifferentFieldsException, GF2nElementIsZeroException {
        GF2nPolynomial[] result = new GF2nPolynomial[2];
        GF2nPolynomial a = new GF2nPolynomial(this);
        a.shrink();
        GF2nPolynomial shift;
        GF2nElement factor;
        int bDegree = b.getDegree();
        GF2nElement inv = b.coeff[bDegree].invert();
        if (a.getDegree() < bDegree) {
            result[0] = new GF2nPolynomial(this);
            result[0].assignZeroToElements();
            result[0].shrink();
            result[1] = new GF2nPolynomial(this);
            result[1].shrink();
            return result;
        }
        result[0] = new GF2nPolynomial(this);
        result[0].assignZeroToElements();
        int i = a.getDegree() - bDegree;
        while (i >= 0) {
            factor = a.coeff[a.getDegree()].multiply(inv);
            shift = b.scalarMultiply(factor);
            shift.shiftThisLeft(i);
            a = a.add(shift);
            a.shrink();
            result[0].coeff[i] = (GF2nElement) factor.clone();
            i = a.getDegree() - bDegree;
        }
        result[1] = a;
        result[0].shrink();
        return result;
    }

    /**
     * Divides <i>this</i> by <i>b</i> and stores the remainder in a new
     * PolynomialGF2n.
     * 
     * @param b
     *            the divisor
     * @return the remainder <i>this</i> % <i>b</i>
     * @throws DifferentFieldsException
     *             if <tt>this</tt> and <tt>b</tt> are not defined over the
     *             same field.
     */
    public final GF2nPolynomial remainder(GF2nPolynomial b)
            throws DifferentFieldsException, GF2nElementIsZeroException {
        GF2nPolynomial[] result = new GF2nPolynomial[2];
        result = divide(b);
        return result[1];
    }

    /**
     * Divides <i>this</i> by <i>b</i> and stores the quotient in a new
     * PolynomialGF2n.
     * 
     * @param b
     *            the divisor
     * @return the quotient <i>this</i> / <i>b</i>
     * @throws DifferentFieldsException
     *             if <tt>this</tt> and <tt>b</tt> are not defined over the
     *             same field.
     */
    public final GF2nPolynomial quotient(GF2nPolynomial b)
            throws DifferentFieldsException, GF2nElementIsZeroException {
        GF2nPolynomial[] result = new GF2nPolynomial[2];
        result = divide(b);
        return result[0];
    }

    /**
     * Computes the greatest common divisor of <i>this</i> and <i>g</i> and
     * returns the result in a new PolynomialGF2n.
     * 
     * @param g -
     *            a GF2nPolynomial
     * @return gcd(<i>this</i>, <i>g</i>)
     * @throws DifferentFieldsException
     *             if the coefficients of <i>this</i> and <i>g</i> use
     *             different fields
     * @throws GF2nElementIsZeroException
     *             if coefficients are zero.
     */
    public final GF2nPolynomial gcd(GF2nPolynomial g)
            throws DifferentFieldsException, GF2nElementIsZeroException {
        GF2nPolynomial a = new GF2nPolynomial(this);
        GF2nPolynomial b = new GF2nPolynomial(g);
        a.shrink();
        b.shrink();
        GF2nPolynomial c;
        GF2nPolynomial result;
        GF2nElement alpha;
        while (!b.isZero()) {
            c = a.remainder(b);
            a = b;
            b = c;
        }
        alpha = a.coeff[a.getDegree()];
        result = a.scalarMultiply(alpha.invert());
        return result;
    }

}


Добавлено через 7 минут и 10 секунд
Прикрепляю файлами

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  GF2nPolynomial.java 14,16 Kb
PM MAIL   Вверх
magikanin
Дата 1.11.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 27.4.2007

Репутация: нет
Всего: 1



еще один

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  GF2nPolynomialElement.java 29,61 Kb
PM MAIL   Вверх
magikanin
Дата 1.11.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 27.4.2007

Репутация: нет
Всего: 1



еще один

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  GF2nPolynomialField.java 16,09 Kb
PM MAIL   Вверх
_Michael
Дата 1.11.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 23.6.2007
Где: з полонини

Репутация: 2
Всего: 6



magikanin,  smile оригинально конечно. но можно как-то в меньшем обьеме и по-сути и по-конкретней где еррор. Если класс не импортируется значит он в том же package что и клас где на него ссилаются.

Добавлено @ 17:57
Ето ж мама дарагая, кто твои 500 строк будет читать. и ето только один файл.

Это сообщение отредактировал(а) _Michael - 1.11.2007, 17:57


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
Kangaroo
Дата 1.11.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 21
Всего: 104



Цитата

Привет!
Думаю, что при такой ошибке твой проект ещё не успел сильно разростись.

Выложи тескт всех трёх классов, так будет проще понять в чём дело (не забудь про тэг code). 


Да.. думаю hydrant не ожидал такого  smile 

magikanin, напиши точно какую ошибку выдает. Нам этого:
Цитата

error : cannot resolve symbol .

не хватает.


--------------------
Lost....
PM MAIL MSN   Вверх
hydrant
Дата 1.11.2007, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 10.8.2007

Репутация: нет
Всего: нет



Цитата

Да.. думаю hydrant не ожидал такого  smile


Звезда в шоке! (с)


Слушай, а как же так получилось, что проект уже относительно большой, а проблема с компиляцией только появилась?
Ты его не компилировал до этого?!

Он раньше компилировался? Если да, то смотри. после каких изменений появилась эта ошибка.

Добавлено через 2 минуты и 23 секунды
Луше пришли блок кода (от { до }), в котором есть строка, на которой происходит ошибка компиляции. И укажи эту строку.
PM MAIL   Вверх
nornad
Дата 1.11.2007, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Вообще такая проблема решается обычно двумя способами:
а) нормально проектируется код; нормально - так, чтобы не было ссылок "каждый на каждого" - в этом случае обычно и сам проект сильно "легчает"
б) отключить участки кода со взаимными ссылками и скомпилировать классы, затем постепенно включать закомментаренные участки, пока всё не скомпилируется в том виде, как надо; это муторно, но иногда цикличные ссылки необходимы и без такого подхода их не всегда разрулишь.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
magikanin
Дата 1.11.2007, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 27.4.2007

Репутация: нет
Всего: 1



Тут просто надыбал с другого пакета три класса которые реализуют код который мне нужен и я хочу добавить его в свой пакет. Говорят есть некий ant который сильно облегчает компиляцию - буду работать - как я понял у меня не находит класс.
PM MAIL   Вверх
magikanin
Дата 1.11.2007, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 27.4.2007

Репутация: нет
Всего: 1



Чудеса на виражах smile 
Установил ant - написал по шаблону xml файл - и все замечательно скомпилировалось .
Спасибо всем за помощь ! Муравей заметно облегчает жизнь  smile 
PM MAIL   Вверх
nornad
Дата 2.11.2007, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(magikanin @  2.11.2007,  01:30 Найти цитируемый пост)
Муравей заметно облегчает жизнь

Ну, его для того и задумывали. smile 


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1079 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.