AR삽질러

JAVA 로또번호 생성기 만들기, 로또 게임 만들기 본문

JAVA

JAVA 로또번호 생성기 만들기, 로또 게임 만들기

아랑팡팡 2023. 2. 22. 16:28
728x90

Java 로또번호 자동생성기 만들기

 

1. 1부터 45까지의 숫자 중에서 중복되는 번호 없이 6개의 숫자를 랜덤하게 생성한다.

번호를 두번돌려 중복이 없는 숫자를 찾는다.

public class Lotto {
	public static void main(String[] args) {
		// 로또번호자동 생성기
		// 1부터 45까지의 숫자 중에서 중복 없이 6개의 숫자를 랜덤하게 생성
		Random random = new Random(); // 랜덤객체
		int[] lottoNumber = new int[6];
		
		for(int i = 0; i < 6; i++) {
			int number = random.nextInt(45)*1;
			for(int j = 0; j < i; j++) {
				if(lottoNumber[j] == number) {
					number = random.nextInt(45) + 1;
					j = -1;
				}
			}
			lottoNumber[i] = number;
		}
		
		System.out.println("이번주 로또 번호" );
		for(int number : lottoNumber) {
			System.out.print("[" + number + "]");
		}
	}
}

 

 

2. 사용자에게 로또 번호를 입력받아 그날의 로또번호 맞추기

 -  1부터 45숫자중 중복없이 6개의 숫자를 랜덤하게 생성

 - 사용자에게 랜덤으로 1~45까지 6개를 입력받아

 - lotto배열과 lotto2배열의 정수를 비교해서 맞춘 개수 확인

public class Lotto {
	public static void main(String[] args) {
		// 로또번호자동 생성기 게임
		// 1부터 45까지의 숫자 중에서 중복 없이 6개의 숫자를 랜덤하게 생성
		Scanner scan = new Scanner(System.in);
		
		System.out.println("안녕하십니까 로또게임입니다..");
		System.out.print("사용자의 닉네임을 만들어주세요^_^ : ");
		String name = scan.nextLine();
		
		int[] lotto = new int[6];
		int[] myLotto = new int[6];
		
		int count = 0;
		
		for(int i = 0; i < lotto.length; i++) {
			lotto[i] = (int)(Math.random()*45) +1;
			for(int j = 0; j < i; j++) {
				if(lotto[i] == lotto[j]) { // j는 i의 아래수까지 반복
					i--;					// 중복되는 수가 없을때까지 반복
					break;
				}
			}
		}
		
		for(int i = 0; i < 6; i++) {
			System.out.print(i+1 + "번쨰 로또 번호 입력 : ");
			myLotto[i] = scan.nextInt();
			if(myLotto[i] < 1 || myLotto[i] > 45) {
				System.out.println(name + "님!! 로또번호는 1에서 45까지 입니다.");
				i--;
				continue;
			}
			for(int j = 0; j < i; j++) {
				if(myLotto[i] == myLotto[j]) {
					System.out.println(name + "님!! 로또번호는 중복될수 없습니다.");
					i--;
					break;
				}
			}
		}
		
		for(int i = 0; i < lotto.length; i++) {
			for(int j = 0; j < myLotto.length; j++) {
				if(lotto[i] == myLotto[j]) {
					count++;
				}
			}
		}
		
		System.out.printf("이번주 로또번호 추첨 : [%d] [%d] [%d] [%d] [%d] [%d] 입니다.\n",
				lotto[0], lotto[1], lotto[2], lotto[3], lotto[4], lotto[5]);
		System.out.println(name + "님!! 로또번호" + count + "개를 맞추셨습니다.");
		switch(count) {
		case 6:
			System.out.println(name + "님!! 1등 당첨!! 축하드립니다~^^");
			break;
		case 5:
			System.out.println(name + "님!! 2등 당첨!! 축하드립니다~^^");
			break;
		case 4:
			System.out.println(name + "님!! 4등 당첨!! 5,0000원 축하드립니다~^^");
			break;
		case 3:
			System.out.println(name + "님!! 5등 당첨!! 5,000원 축하드립니다~^^");
			break;
		default:
			System.out.println(name + "님!! 이번주는 꽝입니다...");
		}
		
	}
}

 

728x90
반응형
LIST