1. Мегаконкурс в апреле "Приведи друзей на codeby". Дарим деньги, подписку на журнал хакер и выдаем статус "Paid Access". Подробнее ...

    Скрыть объявление

Проблема с масивом

Тема в разделе "Java", создана пользователем dr.SeM, 4 дек 2009.

Наш партнер Genesis Hackspace
  1. dr.SeM

    dr.SeM Гость

    Здраствуйте. Я столкнулся со следующей поблемой: есть один класс для работы с комплексными значениями ComplexVar. Когда я создаю массив объектов этого класса и присваиваю первое значение возникает ошибка Exception in thread "main" java.lang.NullPointerException at javaapplication2.Main.main(Main.java:20)

    Код (Text):
    public class ComplexVar {
    public double Re;
    public double Im;
    }
    Головна програма:
    Код (Text):
    public class Main {
    public static void main(String[] args) {
    int Nn=8;
    ComplexVar masst[]=new ComplexVar[Nn];
    masst[0].Re=1;// при таком присвоении возникает исключение
    masst[0].Im=1;
    }
    }
    Как можно ее исправить? Спасибо.
     
  2. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.032
    Симпатии:
    6
    Код (Text):
    masst[0] = new ComplexVar();
    masst[0].Re=1;
    masst[0].Im=1;
     
  3. dr.SeM

    dr.SeM Гость

    Я не совсем понимаю выше приведённую конструкцию, а если будет так:
    Код (Text):
    public class Main {
    public static void main(String[] args) {
    int Nn=8;
    ComplexVar masst[]=new ComplexVar[Nn];
    for(int iter=0;iter<=Nn;iter++)
    {
    masst[iter].Re=1;
    masst[iter].Im=1;
    }
    }
    }
    в этом случае нужно сделать так?:
    Код (Text):
         for(int iter=0;iter<=Nn;iter++)
    {
    masst[iter] = new ComplexVar();
    masst[iter].Re=1;
    masst[iter].Im=1;
    }
     
  4. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.032
    Симпатии:
    6
    да, просто надо знать, что элементы массива, созданного на основе сылочного типа, инициализуется null'ом

    http://www.intuit.ru/department/pl/javapl/9/
     
Загрузка...

Поделиться этой страницей