반응형
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 | package RandomLotto; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import javax.swing.JOptionPane; /** * @file_name : LottoNumber.java * @author : JEFFREY_OH * @description : 로또 번호 생성 후 바탕화면에 Lotto.txt 파일 생성 * @last_update : 2018-12-16 */ public class LottoNumber { public static void main(String[] args) throws IOException { // Inner Method 사용을 위한 객체 생성 LottoNumber r = new LottoNumber(); // 로또 번호는 6자리니까 길이 6 할당 int[] lotto = new int[6]; // 다이얼로그에서 입력값 받기 String count = JOptionPane.showInputDialog("몇 줄이 필요하신가요 ?"); // 파일경로는 바탕화면에 Lotto.txt String filePath = System.getProperty("user.home") + "\\Desktop\\Lotto.txt"; // 버퍼단위로 쓰고 이어쓰기위해 true 설정 BufferedWriter bw = new BufferedWriter(new FileWriter(filePath, true)); // 결과값을 이어쓰기 위해 true 설정 PrintWriter pw = new PrintWriter(bw, true); // 윈도우는 줄바꿈이 \r\n pw.write("==================\r\n"); pw.printf("로또 번호 %s줄 생성완료 !!! \r\n", count); pw.write("==================\r\n\r\n\r\n"); // 받은 값 만큼 출력 for (int c = 0; c < Integer.parseInt(count); c++) { pw.write(c + 1 + "번줄 >> "); // 저장된 값과 비교하여 똑같은게 없는 경우 배열에 값 저장 for (int i = 0; i < lotto.length; i++) { lotto[i] = r.random(1, 45); for (int j = 0; j < i; j++) { if (lotto[i] == lotto[j]) { lotto[i] = r.random(1, 45); j = -1; } } } // 버블 정렬 for (int i = 0; i < lotto.length - 1; i++) { for (int j = i + 1; j < lotto.length; j++) { if (lotto[i] > lotto[j]) { int tmp = lotto[i]; lotto[i] = lotto[j]; lotto[j] = tmp; } } } for (int i = 0; i < lotto.length; i++) { if (i + 1 < lotto.length) { pw.write(lotto[i] + " "); } else { pw.write(lotto[i] + "\r\n"); } } // 한 줄이 끝나고 구분하기 위한 구분선 pw.write("------------------------------\r\n"); } pw.write("\r\n"); pw.write("1등 당첨 가즈아 ~ !!!"); pw.flush(); pw.close(); } /** * 랜덤 번호 생성 * @param min - 최소값 * @param max - 최대값 * @return num - 랜덤 생성된 번호 */ public int random(int min, int max) { int num = (int) ((Math.random() * (max - min + 1)) + min); return num; } } | cs |
반응형
'코딩 예제' 카테고리의 다른 글
Kakao Book Search (0) | 2018.12.13 |
---|---|
Random값의 범위 조절 (0) | 2018.12.12 |
Kakao link label (0) | 2018.12.09 |
kakao flask (0) | 2018.12.03 |
csv 파일쓰기 (0) | 2018.11.30 |