달린다 개발/자바

[자바| 실전] 로또 번호 추출 프로그램 만들기

고타 2022. 4. 14. 23:26
배열 Array 이용 출력 

미션:  로또 당첨 예상 번호 뽑기

 

 1. 1~45 번호 중 난수(랜덤) 6개의 숫자를 무작위 추출한다. 

 2. 많이 나오는 번호의 확률을 위해 6개 합 평균이 20 ~26 사이로 지정, 아닐시 다시 작업처리명령

 3. 배열에 저장된 뽑힌 숫자를 출력한다.  ( Scanner, for 문 등 사용)

 

부분 코드 작성

 

0. 먼저 사용자 입력 저장하는 변수 만들고, 안내화면 출력

 

java.util.Scanner. scanner = new java.util.Scanner(System.in);    //입력 내용 받을 변수 만듬

 

System.out.println("**********************");  

System.out.println("1. 당첨 예상 번호 뽑기");  

System.out.println("2. 프로그램 종료");  

System.out.print("---> 작업을 선택하세요");  // println 은 다음칸(엔터)이고, print 는 바로 다음에 입력 받음

 

String Choice = scanner.nextLine();  // 문자 변수 선언을 위한 String 을 사용하여 scanner를 받는다.

 

 

 

 

 

1. 1~45 숫자 범위중 랜덤번호 6개 뽑기 코드 

 

if (choice.equals("1")) { int [] numbers = new int [6];    //if, equals("") 사용하고, {} 안에 정수 배열 변수 6개를 할당한다

                              int mean mean = 0;               // mean 이라는 변수(평균 값 들어갈 공간) 를 만들고 0 값 할당 

 

do{                                                              // do-while 구문 for 사용을 위해, 초기 실행값 1회를 위해 집어넣음

for (int i = 0; i < numbers.length; i++) { numbers[i] = (int)(Math.random()*45)+1;     // int i 변수생성 반복 6개 추출

     for (int j = 0; j < i; j++){ if numbers[i] == numbers[j] { i = -1) break;                // j 변수 생성, 조건x 시 다시 반복

 

 

 

 

 

2. 평균 계산

int sum = 0;

for (int number : numbers) {                                              // for (int i = 0; i < number.length; i++){ 구문과 같다

       sum += number;           

   } mean = sum / numbers.length;                              // 총합해서 개수를 나누는 평균이므로 이처럼 식을 작성한다

 

 

 

 

 

 

3. 20~26 사이의 평균값이 아니면 다시 뽑기 실행 

 

} while (mean <20 ||  mean > 26);

  System.out.println(" 무작위로 뽑힌 로또 번호 입니다 : ");

  for (int number : numbers ) {

       System.out.printf ("[%d]", number ) ; 

} System.out.printf ("[mean : %d]", mean) ;                                                      // 평균 범위 안의 번호 일시 출력

} else if (choice.equals("2") {

 System.out.println("작업을 종료합니다. 부자되세요^^"); break;

} else { System.out.println ("지원하지 않습니다. 1번과 2번중 선택하세요");

 

 

 

 


 

로또 번호 뽑기 java 파일 

완성된 코드 파일 첨부 

SelfEx02.java
0.00MB