Salangdung_i의 기록

JAVA 10 :: Array 게임 본문

BACKEND/JAVA

JAVA 10 :: Array 게임

Salangdung_i 2019. 8. 30. 01:01
728x90

 

array로 만드는 로또 프로그램 

 

 

public void lotto() {
Scanner sc = new Scanner(System.in);
Random r = new Random();
boolean bool = true;
int[] lottoNum = new int[6];
int[] comNum = new int[6];
int num = 0;
int result = 0;
System.out.println("==== 로또 프로그램 ====");

// 컴퓨터가 로또 돌리는 코드
for (int i = 0; i < comNum.length; i++) {

// i<comNum.length -> 지정한 6개의 comNum만큼의 횟수를 돌린다
int random = r.nextInt(45) + 1;

 // conNum이 랜덤하게 1~45의 범위내에서 골라 random 변수에 넣는다.
for (int k = 0; k < comNum.length; k++) {
if (comNum[k] == random) { // 중복 숫자가 생긴다면
i--; // 첫번째 for문의 변수인 i를 --1 시켜 다시 한번 random을 수행시킨다.
bool = false; // boolean 변수를 false로 바꾼이유는 중복일 경우 if(false){comNum[i] = random;}로 바꾸어 수행되지 못하게
// 한다.
break; // 중복이되었을때 이 코드를 빠져나와 for(int k = 0; k < comNum.length; k++)문으로 돌아간다.
} else {
bool = true; // 중복이 아닐 경우에는 comNum[i] = random;를 수행하도록 하는 장치
}
}
if (bool) {
comNum[i] = random; // 중복이 아닌경우 comNum[i] = random;를 수행한다.
}
}
// 버블정렬 코드
for (int i = 0; i < comNum.length - 1; i++) {
for (int j = 0; j < comNum.length - 1 - i; j++) {

if (comNum[j] > comNum[j + 1]) { // 인접행을 비교한다. ex) comNum[0]=4>comNum[1]=1 이면
int tmp = comNum[j]; // 큰수 comNum[0]를 임시변수 tmp에 저장한다.
comNum[j] = comNum[j + 1]; // comNum[0]의 자리에 작은 comNum[1]을 저장하고
comNum[j + 1] = tmp; // comNum[1]의 자리에 큰수 tmp을 저장한다.
// 즉 comNum[0] comNum[1]
// 1 4 가 된다
}
}

}

for (int i = 0; i < lottoNum.length; i++) {
System.out.printf("%d 번째 번호 입력 : \n", i + 1);
num = sc.nextInt();
for (int k = 0; k < lottoNum.length; k++) {
if (lottoNum[k] == num) {
System.out.println("중복된 숫자 입니다.");
i--;
bool = false;
break;
} else {
bool = true;
}
}
if (bool) {
lottoNum[i] = num;
}
}

for (int i = 0; i < lottoNum.length - 1; i++) {
for (int j = 0; j < lottoNum.length - 1 - i; j++) {

if (lottoNum[j] > lottoNum[j + 1]) {
int tmp = lottoNum[j];
lottoNum[j] = lottoNum[j + 1];
lottoNum[j + 1] = tmp;
}
}

}
for (int j = 0; j < lottoNum.length; j++) {
System.out.print(lottoNum[j] + " ");
}
System.out.println();

for (int j = 0; j < comNum.length; j++) {
System.out.print(comNum[j] + " ");
}
System.out.println();
// comNum과 lottoNum을 비교한다.
for (int i = 0; i < lottoNum.length; i++) {
for (int j = 0; j < comNum.length; j++) {
if (comNum[i] == lottoNum[j]) {
result++;
break;
}
}

}

System.out.println("맞은 갯수  : " + result);


}

 

public void lotto() { 
Scanner sc = new Scanner(System.in); 
Random r = new Random(); 
boolean bool = true; 
int[] lottoNum = new int[6]; 
int[] comNum = new int[6]; 
int num = 0; 
int result = 0; 
System.out.println("==== 로또 프로그램 ===="); 
for (int i = 0; i < comNum.length; i++) {
int random = r.nextInt(45) + 1;
for (int k = 0; k < comNum.length; k++) { 
if (comNum[k] == random) { 
i--;. 
bool = false;
break; 
} else { 
bool = true; 
} 
} 
if (bool) { 
comNum[i] = random; 
} 
} 

for (int i = 0; i < comNum.length - 1; i++) { 
for (int j = 0; j < comNum.length - 1 - i; j++) { 

if (comNum[j] > comNum[j + 1]) {
int tmp = comNum[j]; 
comNum[j] = comNum[j + 1]; 
comNum[j + 1] = tmp;

} 
} 

} 

for (int i = 0; i < lottoNum.length; i++) { 
System.out.printf("%d 번째 번호 입력 : \n", i + 1); 
num = sc.nextInt(); 
for (int k = 0; k < lottoNum.length; k++) { 
if (lottoNum[k] == num) { 
System.out.println("중복된 숫자 입니다."); 
i--; 
bool = false; 
break; 
} else { 
bool = true; 
} 
} 
if (bool) { 
lottoNum[i] = num; 
} 
} 

for (int i = 0; i < lottoNum.length - 1; i++) { 
for (int j = 0; j < lottoNum.length - 1 - i; j++) { 

if (lottoNum[j] > lottoNum[j + 1]) { 
int tmp = lottoNum[j]; 
lottoNum[j] = lottoNum[j + 1]; 
lottoNum[j + 1] = tmp; 
} 
} 

} 
for (int j = 0; j < lottoNum.length; j++) { 
System.out.print(lottoNum[j] + " "); 
} 
System.out.println(); 

for (int j = 0; j < comNum.length; j++) { 
System.out.print(comNum[j] + " "); 
} 
System.out.println(); 

for (int i = 0; i < lottoNum.length; i++) { 
for (int j = 0; j < comNum.length; j++) { 
if (comNum[i] == lottoNum[j]) { 
result++; 
break; 
} 
} 

} 

System.out.println("맞은 갯수  : " + result); 


}



"Icon made by Pixel perfect from www.flaticon.com"

728x90

'BACKEND > JAVA' 카테고리의 다른 글

JAVA :: Array(배열) 배열의 길이 변경하기  (0) 2019.12.08
JAVA 09 :: Array 예제  (0) 2019.08.28
JAVA 08 :: Array배열  (0) 2019.08.26
JAVA 07 :: Random 난수  (0) 2019.08.25
JAVA 06 :: For문 연습문제  (0) 2019.08.24