[자바| 실전] 로또 번호 추출 프로그램 만들기
배열 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 파일
완성된 코드 파일 첨부