Как вы можете создать несколько объектов для одного класса, не зная количества необходимых объектов? - PullRequest
0 голосов
/ 18 января 2019

Я хочу иметь возможность присвоить программе число от 2 до 10, и она создаст столько объектов из одного класса в Java.

Я не уверен, что лучший способ сделать это. Единственное, о чем я могу думать, - это сделать 10 операторов if / else if и создать объекты таким образом.

if (num == 2){
  Class object1 = new Class(1)
  Class object2 = new Class(2)

}
else if (num == 3){
  Class object1 = new Class(1)
  Class object2 = new Class(2)
  Class object3 = new Class(3)
}

.
.
.

else if (num == 10){
  Class object1 = new Class(1)
  Class object2 = new Class(2)
  Class object3 = new Class(3)
  Class object4 = new Class(4)
  Class object5 = new Class(5)
  Class object6 = new Class(6)
  Class object7 = new Class(7)
  Class object8 = new Class(8)
  Class object9 = new Class(9)
  Class object10 = new Class(10)
}

Есть ли лучший способ сделать это? Я все еще учусь кодировать, поэтому я не лучший в этом. Кто-то сказал что-то о массиве объектов, но я не знаю, что это такое или имеет ли это отношение к этой проблеме. Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 января 2019

С учетом ввода вы можете создавать объекты внутри цикла for и добавлять его один за другим в ArrayList.

List<Class> list = new ArrayList<>();

for(int i = 0; i < n; i++){ // n is the number of objects to be created.
   list.add(new Class(i+1));
}
0 голосов
/ 18 января 2019

Использовать массив:

Class[] objects;

тогда

objects = new Class[num];
for (int i = 1; i <= num; ++i) {
    objects[i-1] = new Class(i);
}

Обратите внимание, что индексирование массива начинается с 0.

Это стоит пройти через руководство по массивам на веб-сайте Oracle Java (или, конечно, раздел по массивам в любой книге или руководстве любого хорошего новичка по Java).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...