[보충] 중복 없는 난수 발생시키기
부트캠프(END)/Java2022. 8. 17. 10:14
public static String getRand() {
String result = "";
int[] rand = new int[(int)(Math.random() * 4) + 5]; //5~8
int num = 0;
boolean bCheck = false;
for (int i = 0; i < rand.length; i++) {
bCheck = true;
while (bCheck) {
num = (int)(Math.random() * 14) + 1; //1~14
bCheck = false;
for (int j = 0; j < i; j++) {
if (rand[j] == num) { //중복되는 상황
bCheck = true;
break;
}
}
}
rand[i] = num;
}
//정렬
for (int i = 0; i < rand.length - 1; i++) {
for (int j = i + 1; j < rand.length; j++) {
if (rand[i] > rand[j]) {
int tmp = rand[i];
rand[i] = rand[j];
rand[j] = tmp;
}
}
}
for (int i = 0; i < rand.length; i++) {
result += rand[i] + ",";
}
result = result.substring(0, result.lastIndexOf(","));
return result;
}
'부트캠프(END) > Java' 카테고리의 다른 글
미니 네트워크 프로젝트 (2) : 기능 구현하기 (0) | 2022.06.24 |
---|---|
미니 네트워크 프로젝트 (1) : 화면 구성하기 (0) | 2022.06.23 |
java.net package + 채팅 기능 만들기 (0) | 2022.06.16 |
댓글()