[자바]로또 프로그램

Posted by 알 수 없는 사용자
2016. 5. 14. 23:13 Java/Java 예제

지금까지 배운 내용을 가지고 뭘 만들어볼까 생각하던중

로또프로그램을 만들면 재미있을것 같아서

한번 만들어보았습니다.

 

이 프로그램의 특징은 아래와 같습니다.

1. 1~10게임중 설정한 게임수만큼 출력한다.

2. 1~45까지의 숫자를 Arraylist를 이용하여 저장

3. Collections의 shuffle를 이용하여 Arraylist에 저장된 숫자를 섞음

4. 섞은 배열 중 앞의 6개의 배열을 가져옴

5. Collections의 sort를 이용하여 보기좋게 정렬하여 출력

 

작성된 코드는 아래와 같습니다.

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
44
45
46
47
48
49
50
51
package Itpangpang;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
import java.util.Vector;
 
 
public class Lotto {
    
    
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        System.out.println("Lotto를 몇 게임 하실건가요?(최대 10게임)");
        
        int game = sc.nextInt();
        if(game>0 && game<11){
            System.out.println(game+"번의 게임을 실시하겠습니다.");
            
            for(int k=0;k<game;k++){
                ArrayList<Integer> lotto = new ArrayList<Integer>(); 
                for(int i=1;i<46;i++)
                    lotto.add(i);          //1~45를 저장한 이유는 랜덤으로 6개 뽑으면 중복을 처리해야하므로 중복을 제거하기위함 
                
                Collections.shuffle(lotto);//무작위로 6개를 뽑아야 하므로 섞어준다. 
//                System.out.println(lotto); //잘섞였는지 확인하기 위함
                
                Vector<Integer> lottoNum = new Vector<Integer>();
 
                for(int i=0;i<6;i++){
                    lottoNum.add(lotto.get(i));//섞은 배열중 앞에 6개를 가져온다.
                }
                
                Collections.sort(lottoNum);//보기 좋게 정렬한다.
                System.out.print((k+1)+"번째 게임 :");
                for(int i=0;i<6;i++){
                    System.out.print(lottoNum.get(i)+" ");
                }
                System.out.println();
            }
            
        }else{
            System.out.println("10게임 이하로 입력하시기 바랍니다.");
        }
        
        
    }
    
}
 
cs

출력결과