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