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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с ArrayList 
:(
    Опции темы
andrew1ee
Дата 31.3.2015, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть такой код:
Код

public static void main(String[] args) {
Random random = new Random();
int n = random.nextInt(4);
switch(n){
case 0: Class1 obj1 ((int)(Math.random()*10);
case 1: Class2 obj2 ((int)(Math.random()*10);
case 2: Class3 obj3 ((int)(Math.random()*10);
case 3: Class4 obj4 ((int)(Math.random()*10);
}
ArrayList <Class>array = new ArrayList <>()
//нужно добавить сгенерированные объекты в массив неизвестного размера
}

PM MAIL   Вверх
AntonSaburov
Дата 31.3.2015, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Честно говоря - код странный. Разве он может быть скомпилирован ? И где break в конце switch case ?
И вопрос не понятен - что конкретно надо ?
PM MAIL WWW ICQ   Вверх
andrew1ee
Дата 31.3.2015, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Если создать объекты вручную, и добавить в массив, то компилируется . 
Нужно рандомно создать объекты с рандомными данными, и записать в массив неизвестного размера.
PM MAIL   Вверх
AntonSaburov
Дата 31.3.2015, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



На форуме люди помогают добровольно и желательно давать им информацию в нормальном виде.

Где тогда Class1, Class2, Calss3, Class4 ?

И эта строка может компилироваться ?

Class1 obj1 ((int)(Math.random()*10);

И break где ?

А это что ?
ArrayList <Class>array = new ArrayList <>()

Фиг с точкой с запятой, но туда можно будет только Class положить. Как я понял нужно-то obj1, obj2 туда запихнуть. Но это невозможно при такой записи.
Этот код в этом виде не может быть скомпилирован, а знаит Вы предлагаете за Вас сделать еще массу работы. Что не есть гуд. Я не ворчу и не выпендриваюсь - просто вопрос крайне неудачно сформулирован.
PM MAIL WWW ICQ   Вверх
andrew1ee
Дата 31.3.2015, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Хорошо, попробую объяснить.
Есть например главный класс Class, от которого наследуются Class1, Class2, Class3, Class4. Классы реализованы. Нужно создать объекты obj1 и т.д., и поместить в массив ArrayList типа Class. 
Предложенный код не закончен, это просто видение как это можно реализовать.

Это сообщение отредактировал(а) andrew1ee - 31.3.2015, 17:00
PM MAIL   Вверх
Pawl
Дата 5.4.2015, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Для начала так: 
Код

Class1 obj1 ((int)(Math.random()*10)
 объекты в java не создаются в принципе. Надо так:
Код

Class1 obj1 = new Class1((int)(Math.random()*10);

т. е. вам надо в Class1 определить конструктор для соответствующего поля. А в ArrayList эти объекты добавлять так:
Код

array.add(obj1);

А вообще согласен, 
Цитата

   вопрос крайне неудачно сформулирован
   


Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
temik911
Дата 12.5.2015, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Возможно ты хотел увидеть нечто подобное.

Код

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

class Class {
    int numb;
    public Class(int numb) {
        this.numb = numb;
    }
}

class Class1 extends Class {
    public Class1(int numb) {
        super(numb);
    }
}

class Class2 extends Class {
    public Class2(int numb) {
        super(numb);
    }
}

class Class3 extends Class {
    public Class3(int numb) {
        super(numb);
    }
}

class Class4 extends Class {
    public Class4(int numb) {
        super(numb);
    }
}

public class Main {
    public static void main(String[] arg) {
        List<Class> array = new ArrayList<Class>();
        Random random = new Random();
        int n = random.nextInt(4);
        switch (n) {
            case 0:
                array.add(new Class1((int)(Math.random()*10)));
                break;
            case 1:
                array.add(new Class2((int)(Math.random()*10)));
                break;
            case 2:
                array.add(new Class3((int)(Math.random()*10)));
                break;
            case 3:
                array.add(new Class4((int)(Math.random()*10)));
                break;
        }
    }
}

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

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

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


 




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


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

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