SKILL/JAVA

자바 로또 번호 생성 게임예제01

Jedy_Kim 2017. 12. 19. 20:02
728x90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
 
class LottoView {
    private Scanner sc = new Scanner(System.in);
    public void start() {
        System.out.println("게임수를 입력(1~10) : ");
        int gCnt = Integer.parseInt(sc.nextLine());
        
        for(int i = 1; i<=gCnt; i++) {
            System.out.println("게임" + i + " : " + lottoNum());
        }
    }
    public String lottoNum() {
        Random r = new Random();
        int[] nums = new int[45];
        // 초기화
        for(int i = 0; i<nums.length; i++) {
            nums[i] = i+1;
        }
        
        int[] lNum = new int[7];
        for(int i = 0; i <lNum.length; i++) {
            int seq = r.nextInt(45 - i); //위의 배열이 45칸이므로, 범위는 점점 줄어든다.
            
            lNum[i] = nums[seq]; //그배열 범위에 맞는 값을 대입한다
            
            //뽑힌 값은 맨뒤로 보내고 i가 커짐에따라 nums배열범위는 점점 줄어든다.
            int temp = nums[seq];
            nums[seq] = nums[45-1-i];
            nums[45-1-i] = temp;
        }
        return Arrays.toString(lNum);
    }
}
 
public class LottoMain {
    public static void main(String[] args) {
        LottoView view = new LottoView();
        view.start();
    }
}
cs


반응형