Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Массив объектных переменных / 25 сообщений из 47, страница 1 из 2
11.04.2013, 16:15:05
    #38222152
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Подскажите, плз, в чем ошибка

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
class A
{
    int i;
    A(){i=1;}
}
public class JavaApplication4 {
    public static void main(String[] args) {
        A t[]=new A[2];
        System.out.print(t[0]);
    }
}



в результате выводит null.
...
Рейтинг: 0 / 0
11.04.2013, 16:16:53
    #38222158
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Массив A[] это массив ссылок на объекты типа A. Самих объектов типа А этот код нигде не создаёт. Поэтому все ссылки имеют значение по-умолчанию. Т.е. null.
...
Рейтинг: 0 / 0
11.04.2013, 16:25:03
    #38222175
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
А как для каждого элемента создать конкретный объект и запустить конструктор для него?
...
Рейтинг: 0 / 0
11.04.2013, 16:26:54
    #38222178
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Alex_kip,

в цикле, это вам не дотнет
...
Рейтинг: 0 / 0
11.04.2013, 16:28:33
    #38222184
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Можете пример цикла привести?
В С++ я такой проблемы не наблюдал, а тут...
...
Рейтинг: 0 / 0
11.04.2013, 16:37:46
    #38222213
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Код: java
1.
2.
 ... A t[]=new A[2];
for(int x:A) ???


Что вместо "???" ?
...
Рейтинг: 0 / 0
11.04.2013, 16:37:52
    #38222214
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Alex_kipМожете пример цикла привести?
В С++ я такой проблемы не наблюдал, а тут...
Ну-ка, ну-ка, пример из C++ в студию.
...
Рейтинг: 0 / 0
11.04.2013, 16:41:41
    #38222229
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
class A
{
public:
	int i;
	A(){i=0;}
};
void main()
{
	A *d=new A[2];
	cout<<d[0].i;
}
...
Рейтинг: 0 / 0
11.04.2013, 16:43:57
    #38222237
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
BlazkowiczAlex_kipМожете пример цикла привести?
В С++ я такой проблемы не наблюдал, а тут...
Ну-ка, ну-ка, пример из C++ в студию.

дык в сях массивы по умолчанию инициализируются объектами с конструктором по умолчанию жы.
...
Рейтинг: 0 / 0
11.04.2013, 16:45:09
    #38222241
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Код: java
1.
2.
 ... A t[]=new A[2];
for(int x:A) ???


for(A a:t)
...
Рейтинг: 0 / 0
11.04.2013, 16:45:28
    #38222244
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Именно поэтому я и спрашиваю, что мне сделать, чтобы здесь запустить конструкторы
...
Рейтинг: 0 / 0
11.04.2013, 16:46:27
    #38222247
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Blazkowicz
Код: java
1.
2.
 ... A t[]=new A[2];
for(int x:A) ???


for(A a:t)

Да, да, перепутал. Но вместо ???-то что ставить?
...
Рейтинг: 0 / 0
11.04.2013, 16:47:24
    #38222250
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Alex_kipИменно поэтому я и спрашиваю, что мне сделать, чтобы здесь запустить конструкторы

явно для каждого элемента массива вызвать new A()
...
Рейтинг: 0 / 0
11.04.2013, 16:47:27
    #38222251
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Blazkowicz,
for(A a:t)
Так не получится к сожалению
...
Рейтинг: 0 / 0
11.04.2013, 16:48:51
    #38222257
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class A
{
    int i;
    public A(){i=1;}
}
public class JavaApplication4 {
    public static void main(String[] args) {
        A t[]=new A[2];
        for(A x:t) x=new A();
        System.out.print(t[0]);
    }
}



Не работает
...
Рейтинг: 0 / 0
11.04.2013, 16:49:34
    #38222259
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
javapeckerТак не получится к сожалению
Смотря что не получиться.
...
Рейтинг: 0 / 0
11.04.2013, 16:50:16
    #38222262
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Alex_kip
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class A
{
    int i;
    public A(){i=1;}
}
public class JavaApplication4 {
    public static void main(String[] args) {
        A t[]=new A[2];
        for (int x=0; x<t.length; x++) {
             t[x] = new A();
        }
    }
}



Не работает
...
Рейтинг: 0 / 0
11.04.2013, 16:50:25
    #38222265
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Код: java
1.
Arrays.fill(t, new A());


LOL
...
Рейтинг: 0 / 0
11.04.2013, 16:51:27
    #38222268
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Кто-нибудь вообще знает как это можно осуществить? Я на жабе 1 день программирую и вообще не в курсе, что тут писать нужно.
...
Рейтинг: 0 / 0
11.04.2013, 16:51:32
    #38222269
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Blazkowicz,
Смотря что не получиться.
инициализировать элементы массива так не получится
...
Рейтинг: 0 / 0
11.04.2013, 16:51:51
    #38222271
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Alex_kip,

более короткий вариант, могу напутать порядок аргументов:
Arrays.fill(t, new A());
...
Рейтинг: 0 / 0
11.04.2013, 16:51:57
    #38222272
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Alex_kipКто-нибудь вообще знает как это можно осуществить? Я на жабе 1 день программирую и вообще не в курсе, что тут писать нужно.
Читать нужно, а не программировать.
...
Рейтинг: 0 / 0
11.04.2013, 16:54:28
    #38222281
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
Озвериндык в сях массивы по умолчанию инициализируются объектами с конструктором по умолчанию жы.
C++, цука, опасный. Херак и 100500 конструкторов выполнил.
...
Рейтинг: 0 / 0
11.04.2013, 16:54:59
    #38222284
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
BlazkowiczAlex_kipКто-нибудь вообще знает как это можно осуществить? Я на жабе 1 день программирую и вообще не в курсе, что тут писать нужно.
Читать нужно, а не программировать.

Я совета не по той причине спрашиваю, что не знаю чем мне заняться. Просто столкнулся с проблемой, которую вы уже сами пол часа решить не можете.

Спасибо за помощь))
...
Рейтинг: 0 / 0
11.04.2013, 16:55:38
    #38222288
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Массив объектных переменных
BlazkowiczОзвериндык в сях массивы по умолчанию инициализируются объектами с конструктором по умолчанию жы.
C++, цука, опасный. Херак и 100500 конструкторов выполнил.

дык потому джабу и сделали. Понапесале на сях программ, а потом спрашивают..куда память утекла?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Массив объектных переменных / 25 сообщений из 47, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]