Как заполнить массив класса , или массив на основе класса
Подскажите как это делается на примере класса человек. Нужно заполнить массив. Массив заполняется только по одному параметру или сразу по двум. Или же нужно два массива с именем и возрастом.Рандом в моем коде не работат.Обязательно ли нужен конструктор?
import java.util.Random;
public class Human {
int age;
char name;
public static void main(String[] args) {
Random ran=new Random();
Human[] humans=new Human[100];
for (int i=0;i<humans.length;i++){
humans[i]=ran.nextInt(100);
}
}
}
Ответы (1 шт):
Автор решения: Дмитрий
→ Ссылка
import java.util.Arrays;
import java.util.Random;
public class Human {
private int age;
private String name;
@Override
public String toString() {
return "Human{" + "age=" + age + ", name=" + name + '}';
}
public Human(int age, String name) {
this.age = age;
this.name = name;
}
public static void main(String[] args) {
Random ran = new Random();
Human[] humans = new Human[100];
for (int i = 0; i < humans.length; i++) {
humans[i] = new Human(ran.nextInt(100), "test_name");
}
System.out.println(Arrays.toString(humans));
}
}
А если с использованием функционалки, то метод main можно написать еще проще:
public static void main(String[] args) {
Human[] humans = new Random().ints(0, 100)
.limit(100)
.mapToObj(age->new Human(age, "test_name"))
.toArray(Human[]::new);
System.out.println(Arrays.toString(humans));
}