Java
[Java] 36. 배열 활용: 랜덤 숫자 생성기
Song hyun
2024. 4. 22. 17:30
728x90
반응형
[Java] 36. 배열 활용: 랜덤 숫자 생성기
문제.
배열(Array)와 이중 for문을 응용해, 다섯 개의 중복되지 않는 랜덤한 수(0~45 사이)를 생성, 출력하라.
풀이 과정:
(1) int[] numbers=new int[6]; 를 통해, 정수형 변수 6개를 담는 배열을 만든다.
(2) Random random=new Random();을 통해 랜덤한 수를 만들수 있게 세팅한다.
(3) 랜덤한 수가 중복될 경우, 카운트 하기 위해 정수형 변수 count 를 선언한다.
(4) 첫번째 for문에서는 6개의 난수(=랜덤한 수)가 생성되도록
int num=random.nextInt(45)+1
numbers[i]=num;을 선언한다.
(5) 두번째 for문에서는 랜덤하게 생성된 수 6개가, 이전에 생성된 난수와 중복되지 않는지 체크한다.
만약 중복되는 수가 있다면, 다시 수를 생성한다.
public static void makeNumbers() {
int[] numbers = new int[6];
Random random = new Random();
int count=0;
for (int i = 0; i < 6; i++) {
int num = random.nextInt(45) + 1;
for(int a=0; a<6; a++) {
if(numbers[a]==num) {
num=random.nextInt(45)+1;
count++;
}
}
numbers[i]=num;
}
System.out.print(numbers[0]+"\t");
System.out.print(numbers[1]+"\t");
System.out.print(numbers[2]+"\t");
System.out.print(numbers[3]+"\t");
System.out.print(numbers[4]+"\t");
System.out.println(numbers[5]+"\t");
System.out.print("중복된 횟수는 "+count);
}
728x90
반응형