자동 로또번호 생성기
메인,메소드로 기능별,객체
토요일 오후 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 |