자바 / 로또 번호 만들기 예제 코드
자바로 로또 번호를 랜덤으로 생성해주는 예제 소스이다
3가지 방법으로 만들 수 있음.
예전, 학원다니던 시절에 만들었던거라 단순하다
재미삼아 한번 코딩해보자~
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 | import java.util.Arrays; import javax.swing.JOptionPane; public class testMain { public static void main(String[] args) { String input = JOptionPane.showInputDialog("로또 개수를 입력하세요"); int ltn = Integer.parseInt(input); System.out.println("입력한 로또 수 : " + ltn); for (int j = 0; j < ltn; j++) { int[] lotto = lotto(); int[] lotto2 = lotto_CP(); int[] lotto3 = lotto_SP(); Arrays.sort(lotto); Arrays.sort(lotto2); Arrays.sort(lotto3); System.out.println("첫번째 방식 : " + Arrays.toString(lotto)); System.out.println("두번째 방식 : " + Arrays.toString(lotto2)); System.out.println("세번째 방식 : " + Arrays.toString(lotto3)); System.out.println("======================================"); } } // Lotto_SP private static int[] lotto_SP() { int[] lottoT = new int[45]; int[] lotto = new int[6]; for (int i = 0; i < lottoT.length; i++) { lottoT[i] = i + 1; } int tmp = 0; for (int i = 0; i < lottoT.length; i++) { int j = (int) (Math.random() * 45); tmp = lottoT[i]; lottoT[i] = lottoT[j]; lottoT[j] = tmp; } System.arraycopy(lottoT, 0, lotto, 0, 6); return lotto; } // Lotto_CP private static int[] lotto_CP() { int[] lotto = new int[6]; int[] lottoT = new int[45]; for (int i = 0; i < lottoT.length; i++) { lottoT[i] = i + 1; } int length = lottoT.length; for (int i = 0; i < lotto.length; i++) { int j = (int) (Math.random() * length); lotto[i] = lottoT[j]; lottoT[j] = lottoT[length - 1]; length--; } return lotto; } // Lotto 이중 for문 private static int[] lotto() { int[] Lotto = new int[6]; for (int i = 0; i < Lotto.length; i++) { Lotto[i] = (int) (Math.random() * 45) + 1; for (int j = 0; j < i; j++) { if (Lotto[i] == Lotto[j]) i--; } } return Lotto; } } | cs |
위 소스 실행시 Dialog 화면
Dialog 화면에서 2를 입력하고 확인을 누른 결과
결과 : 콘솔 출력:
입력한 로또 수 : 2
첫번째 방식 : [2, 14, 28, 33, 36, 44]
두번째 방식 : [4, 6, 13, 23, 32, 45]
세번째 방식 : [1, 2, 9, 14, 33, 44]
======================================
첫번째 방식 : [16, 18, 29, 30, 37, 38]
두번째 방식 : [14, 25, 30, 39, 41, 45]
세번째 방식 : [4, 12, 21, 26, 32, 37]
======================================
마음 같아선 실제 당첨 번호를 DB에 넣어놓고
당첨될 확률이 높은 번호를 뽑는 식으로 구현해보고 싶지만 오늘은 여기까지~
'개발' 카테고리의 다른 글
[Node.js] 윈도우 환경 설치 & Hello World 출력 (0) | 2015.12.07 |
---|---|
[Linux] Apache2 + PHP 설치 (0) | 2015.11.26 |
[Linux] 리눅스 명령어 정리 (0) | 2015.11.26 |
[WebtoB] PHP 다운로드 및 웹투비 연동 (4) | 2015.11.09 |
[WebtoB] 다운로드 및 설치, 환경변수 설정 (0) | 2015.11.08 |