2차월 배열 랜덤 값 중복 제거
- 1~10 사이의 랜덤 값을 3행 3열 2차원 배열에 대입한다. 단, 랜덤 값에 중복을 제거해서 2차원 배열에 대입할 것
public void method3() {
int[][] szArr = new int[3][3];
int[] nNum = new int[9];
int nIndex = 0;
// 1차원 배열에 랜덤 값 대입 후 중복 확인
for(int i = 0; i < nNum.length; i++) {
nNum[i] = (int)(Math.random()*10)+1; // 랜덤 값 대입
for(int j = 0; j < i; j++) {
if(nNum[i] == nNum[j]) { // 인덱스의 값이 같을 경우
i--; // i를 감소시켜 다시 랜덤 값 대입
break;
}
}
}
// 1차원 배열 값을 2차원 배열에 대입
for(int i = 0; i < szArr.length; i++) {
for(int j = 0; j < szArr[i].length; j++) {
System.out.printf("%2d ", szArr[i][j] = nNum[nIndex++]); // 1차원 배열의 인덱스를 1씩 증가
}
System.out.println();
}
}
출력물
3 4 2
7 8 5
10 6 1
'Developer TABLE > Java' 카테고리의 다른 글
Arrays 클래스로 배열 다루기 (0) | 2021.08.31 |
---|---|
가변 배열 (0) | 2021.08.31 |
2차원 배열 (0) | 2021.08.31 |