(JAVA 자바) 랜덤 자동 로트 번호 추첨기 만들기
배열하여 간단한 로또번호추첨기를 만드는 프로그램을 코딩해보겠습니다.
로또의 실제 구매표 배열과 반복문 조건문을 통해 간단한 프로그램을 만들어 보자.로트 추점기 코드
Q1. 아래와 같이 배열을 이용해 랜덤 로트 추첨기의 자바 코드를 작성해 보시기 바랍니다.【실행 결과】=========================
A 자동 03 04 07 21 23
B 자동 22 24 25 27 33
C 자동 11 14 35 37 38
D 자동 15 19 29 32 39
E 자동 0206 28 30 3134
========================= [작성 코드] 프로그램 코딩은, 정해진 정답 없이 여러 가지 방법이 있습니다! 내가답으로쓴코드만100%정답이아니라다양한방법이있으니참고하시기바랍니다.코드가 달라도 여러 가지 실행 결과를 통해서 내 코드가 맞는지 확인하는 과정이 굉장히 중요합니다.
이해가 잘 되세요?
1. Randomr = new Random(); 랜덤 오브젝트를 생성하여 랜덤 변수를 사용한다.
2. int lotto [] = new int [6]; 크기가 6명인 lotto 배열을 만든다. 이 배열은 천원에 한 줄을 살 수 있도록 한 줄, 즉 6개의 로또 번호가 들어가는 배열이다.
int check [ ] = new int [45]; 크기가 45인 체크배열을 만든다. 이 배열은 1~45까지의 번호를 가지는 로트의 특성이다. 체크배열로 인해 중복이 없도록 방지한다.뽑은 번호는 체크해 다시 빠지지 않게 표시한다.
3. System.out.print(char) k+ "자동"); 위의 예와 같이 로또 한 줄(천원) 앞에 자동이냐 수동이냐를 표시하고, 열의 순서를 표시하기 위하여 A, B, C... 등에 나오는 것처럼 k변수를 통해 반복적으로 글을 호출하여 형태변환을 통해 알파벳으로 나가도록 한다.
4. lotto[i]=r.nextInt(45)+1; 로또는 0을 포함하지 않기 때문에, 랜덤 변수 r. 를 개입시켜 nextInt 를 사용해 정수형을 호출한다. 0~44까지의 숫자를 호출하므로 +1을 더해 1~45까지의 랜덤 숫자를 생성한다.
5. if(check[lotto[i]==0) {check[lotto[i]]=1;}elsei---;}2번에서 만든 체크 배열에 따라 lotto[i]번째에 해당하는 숫자를 보고 뺀 것은 1로 체크했다. 만약 lotto[i]가 1이라면 이미 뺀 숫자이므로, i를 -1하고 이전 단계로 되돌아가게 된다.
6-1. for (int i = 0; i <lot to.length; i++) {System.out.printf ("%02d", lotto[i]); 6-1과 6-2는 처음에 실제 로트 표와 같이 표시하기 위해 추출된 숫자를 "%02d", lotto[i"); 6-2는 처음에 실제 로트 표와 같이 표시하기 위해 추출되었다.추출된 로트번호를 %02d를 사용해 번호마다 2칸씩 띄어쓰기를 하고 1자리 숫자 19의 숫자가 나오면 빈 공간을 0으로 채우고 추출된 10자리 숫자와 간격을 동일하게 유지하며 출력한다.
printf() println 등은 앞의 포스팅을 참고해주세요!
6 - 2 . for ( int i = 0 ; i < lotto . length ; i++ ) if ( lotto [ i ] < = 9 ) { System . out . print ( " 0 " + lotto [ i ] + " " ) ; } else { System . out . print ( lotto [ i ] + " " ) ; }
6-1과 같은 방법인데 if문으로부터 추출된 숫자가 19, 즉 1의 자리 숫자일 때는 앞의 0을 채워서 간격을 같게 하고, 10의 자리 숫자라면 즉 1045의 숫자이면 그대로 출력한다.
이해되셨나요?더 자세한 설명이 필요하시면 댓글 달아주세요!설명이 부족하지만 다른 포스팅으로 차근차근 관련 코딩 지식을 쌓아 나가도록 하겠습니다.


