자동 로또번호 생성기

메인,메소드로 기능별,객체

토요일 오후 8:30 추첨

숫자적힌 공 1~45까지 

랜덤 수 5개  ex)31,22,41,8,10

"제 xx회 로또당첨번호는 8,10,22,31,41 입니다 축하드립니다."

1. 숫자 중복 불가

2. 랜덤

3. sort정렬(오름차순)

+ 보너스 번호

++ 1000원 5000원 내면 



소스

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.Random;
import java.util.Scanner;
 
public class Lotto {
    static int a=326;    //회차 
    static Random r = new Random();        //random 함수 사용하는 두번째 방법
    
    public static void main(String[] args) {    
        System.out.print("로또를 구매하시겠습니까(y/n)? ");
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();    // y/n 입력
        
        if(s.equals("y")){                //구매 yes 인 경우
            System.out.print("몇 줄 구매(1-5) : ");
            int line = sc.nextInt();    //입력
            System.out.println((line*1000)+"원 입니다.");    //계산할 가격 출력
        
            System.out.println();
            prn();        //로또 페이지 출력 함수 호출
            for(int i=0;i<line;i++){    //구매한 줄 수 만큼 buy()메소드 호출
                buy(i);    
            }
            
            System.out.println("-------------------------------------");
            event();    //당첨번호 출력 메소드 event() 호출
            
        }else if(s.equals("n")){        //구매 no 인 경우
            event();    //당첨번호 출력 메소드 event() 호출
            
        }else{
            System.out.println("잘못입력하셨습니다.");
        }
    }//main end
    
    public static void prn(){    //로또 구매시 print
        SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyy.MM.dd HH:mm:ss", Locale.KOREA );
        Date currentTime = new Date();
        String mTime = mSimpleDateFormat.format ( currentTime );
        
        System.out.println("--------------나눔 로또--------------");
        System.out.println("               제 "+a+"회 ");    //회차는 멤버필드에 선언
        System.out.println();
        System.out.println("발행일 : "+ mTime);        //현재 시간
        System.out.println("추첨일 : "+ mTime);
        System.out.println("-------------------------------------");
    }//prn end
    public static void buy(int a){    //로또 구매 시 랜덤 번호 출력
        int[] ran = new int[5];
    
        for(int i=0;i<ran.length;i++){
            ran[i]=r.nextInt(45)+1;    //1-45까지 랜덤수를 배열에 입력
            
            for(int j=0;j<i;j++){    //중복수 있는지 확인하기 위해
                if(ran[i]==ran[j]){    //중복된 수 생성됐다면
                    i--;    //i-1을 해서 다시 랜덤수 입력할수있도록
                    break;
                }
            }
        }
        System.out.print((char)(65+a)+" 자동\t");    //"A,B,,,자동" 출력
        for(int i=0;i<ran.length;i++){
            System.out.print(ran[i]+"  ");    //수 출력
        }
        System.out.println();
    }//buy end
    public static void event(){    //당첨 확인
        int[] ran = new int[6];
        System.out.println("******************************************************************");
        System.out.print("제 "+a+"회 로또당첨번호는 ");        //회차는 멤버필드에 선언
        
        for(int i=0;i<ran.length;i++){
            ran[i]=r.nextInt(45)+1;    //1-45까지 랜덤수를 배열에 입력
            
            for(int j=0;j<i;j++){    //중복수 있는지 확인하기 위해
                if(ran[i]==ran[j]){    //중복된 수 생성됐다면
                    i--;            //i-1을 해서 다시 랜덤수 입력할수있도록
                    break;            //중간 for문 나가기
                }
            }
        }
        int temp=0;
        for(int i=0;i<ran.length-1;i++){    //오름차순으로 정렬(보너스번호를 뺀 5개만)
            for(int j=i+1;j<ran.length-1;j++){    
                if(ran[i] > ran[j]){
                    temp=ran[i];
                    ran[i]=ran[j];
                    ran[j]=temp;
                }
            }
            System.out.print(ran[i]+"  ");    //오름차순으로 출력
        }
        System.out.println("입니다. 축하드립니다.");
        System.out.println("보너스 번호는 "+ran[ran.length-1]+" 입니다.");    //마지막 보너스 랜덤수 출력
    }//event end
}//class end
 
 
 
cs

결과


'* Programming > JAVA' 카테고리의 다른 글

DAY13 String 1  (0) 2016.07.21
DAY13 학생 성적관리 프로그램  (0) 2016.07.21
JAR로 export 하기  (0) 2016.07.19
DAY12 배열 문제  (0) 2016.07.19
DAY12 배열  (0) 2016.07.19

+ Recent posts