로또 프로그램

[Java] 로또 프로그램 코드 작성해보기
Dec 19, 2023
로또 프로그램
내가 쓴 코드
package ex03; import java.util.Arrays; import java.util.Random; public class LottoEx01 { public static void main(String[] args) { int[] arr = new int[6]; Random r = new Random(); int num; for (int i = 0; i < arr.length; i++) { // 1~6번째 숫자 넣기 if(i==0){ // 첫 번째 숫자 넣기 num = r.nextInt(45)+1; arr[i] = num; }else{ // 2~6번째 숫자 넣기 while(true) { // 무한 반복 num = r.nextInt(45) + 1; for (int j = 0; j < i; j++) { // 1일떄 0, 2일때 0,1 .... 검사하는 코드 if (arr[j] != num) { // 중복이 아니라면 continue if(j == i-1){ // for문 검사를 다했을시 값을 넣고 for문 빠져나오기 arr[i] = num; break; } }else{ // 중복 이면 검사를 중단하고 다시 랜덤 숫자 받으러 for문 나옴 break; } } if(arr[i] == num){ // 값을 넣었다면 break; // 무한 반복 해제 } } } } System.out.println(Arrays.toString(arr)); } }
while로 무한 반복을 쓰지 말고 i-- 를 이용하면 더 간단하게 코드가 나옴
 
풀이 코드
package ex03; import java.util.Arrays; import java.util.Random; public class LottoEx03 { public static void main(String[] args) { int[] arr = new int[6]; Random r = new Random(); int num; for (int i = 0; i < arr.length; i++) { num = r.nextInt(45)+1; arr[i] = num; for (int j = i-1; j >= 0 ; j--) { if(arr[j] == num){ i--; break; } } } System.out.println(Arrays.toString(arr)); } }
 
Share article
RSSPowered by inblog