본문 바로가기
Java 및 JSP

[Java] For 구문과 1차원 배열로 로또 번호 추첨기 생성

by jane.dev 2021. 7. 28.
반응형

1. 먼저 1부터 45까지의 번호가 들어간 배열을 생성

int [] lotto = new int [45];			// 45자릿수의 배열 생성
for(int a = 0; a < lotto.length; a++){
	lotto[a] = a + 1;			// 각 자릿수에 1부터 45까지 입력(자릿수는 0부터 44)
}

 

2. 0부터 44까지의 난수를 입력받아 자릿수에 넣어, 0부터 5 자릿수에 해당하는 숫자들과 변경 - 임시변수를 사용

int tmp = 0;
// 입력받은 난수의 자릿수와 0-5까지의 자릿수가 변경되는 동안 숫자를 저장할 임시변수	
for(int a = 0; a < 6; a++){			// 0-5까지 반복
	int num = (int)(Math.random() * 45);	// 0-45의 난수를 받음
    if(num != a){				// 해당 자릿수와 받은 난수의 숫자가 같지 않아야 함
    	tmp = lotto[a];				// 0-5 자릿수의 숫자를 임시변수에 저장
        lotto[a] = lotto[num];			// 받은 난수 자릿수의 숫자를 0-5 자릿수에 저장
        lotto[num] = tmp;			// 임시변수에 있던 숫자를 난수 자릿수에 저장
    }						// 난수의 자릿수 숫자와 0-5 자릿수 숫자와 변경됨
}

 

3. 각 숫자들을 출력 - 실행시마다 난수가 변경되면서 숫자도 함께 변경됨

for(int a = 0; a < 6; a++){
	System.out.println("Ball " + (a + 1) + ": " + lotto[a]);
}

 

'Java 및 JSP' 카테고리의 다른 글

[JSP] HTTP의 이해  (0) 2021.07.29
[JSP] Tomcat 개발환경 구축  (0) 2021.07.29
[Java] 참조형 변수와 배열  (0) 2021.07.27
[Java] Collection 컬렉션  (0) 2021.07.26
사전수업 Day3: Java 반복 제어문1  (0) 2021.05.31