난수 생성기를 사용하여 2 차원 어레이를 생성하려고합니다. 기본적으로 각 열에는 반복되지 않는 1-50 사이의 임의의 값이 포함되어야하지만 문제는 프로그램의 동일한 행 또는 다른 행이나 열에 반복 값을 가져올 수 없습니다. 즉, 각 정수는 한 번만 표시되어야합니다. 내 객체는 링크드리스트를 통해 만들어졌고, 일단 내가 알아 내면 거기에 algorthim을 통합 할 것입니다. 그러나 당분간, 내가 한 일을 heres합니다.자바 랜덤 제네레이터 (반복 없음)
int[] array = new int[50];
for(int i=1;i<=9;i++)
{
int[] grades = new int[5];
for(int j=0;j<=4;j++)
{
int unique = gen.nextInt(50)+1;
grades[j] = unique;
}
list.add(new Student(i, grades));
}
System.out.println(list);
내 출력 :
이Student1: 20 49 45 16 13
Student2: 28 10 11 30 6
Student3: 13 25 37 31 49
Student4: 8 23 8 12 32
Student5: 22 18 35 2 7
Student6: 35 8 16 23 36
Student7: 35 3 15 42 2
Student8: 43 12 44 2 35
Student9: 12 21 36 23 12
그래서 내 문제는 이것이다. 어떻게 값을 반복하지 않고 임의의 gen을 구현할 수 있습니까? 일반적으로 지금은 컬렉션 목록을 시도 할 것이지만 java.util.Random을 사용하여이 작업을 수행하려고합니다. 개인적으로이 작업을 다른 방법으로 수행하지만 지시를받습니다. 당신
간단하고 우아한이 솔루션이 적합합니다. – nook
그게 실용적인 솔루션이지만 거기에 랜덤() 생성기를 사용하여 이것을 구현하는 방법은 무엇입니까? 나는 내가 이런 식으로 지시하도록되어 있다고 확신한다. – user2188838
@ user2188838 : 물론, 블라드 - ardelean이 말한대로하십시오. Collections.shuffle은 임의 생성기, btw를 사용합니다. –