Daily coding
Java Basic : day 4 - Example 03 : boolean 배열을 이용한 중복값 처리 본문
Language/Java_basic
Java Basic : day 4 - Example 03 : boolean 배열을 이용한 중복값 처리
sunnnkim 2019. 11. 22. 18:38package day4;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class Ex03_Baseball_myCode {
public static void main(String[] args) {
// 1. 초기화
// 2. random
///////////// loop //
// 3. user input
// 4. finding (비교)
/////////////////////
// 5. result
Scanner sc = new Scanner(System.in);
Random r = new Random();
// 선언
int[] rNum;
int[] uNum;
boolean clear;
int strike, ball;
boolean _switch[];
while(true) {
// 초기화
rNum = new int[3];
uNum = new int[3];
_switch = new boolean[10];
// _switch 에 모든 데이터를 꺼준다
for (int i = 0; i < _switch.length; i++) {
_switch[i] = false;
}
clear = false; // 게임을 성공하면 true로
// random
// 하드 코딩하지 않고 중복을 막는 방법
// boolean 사용해서 들어온 값은 스위치에 false를 true 바꿔준다
int ran;
int w = 0;
while (w < 3) {
ran = r.nextInt(10);
if (_switch[ran] == false) {
_switch[ran] = true;
rNum[w] = ran + 1;
w++;
}
}
System.out.println(Arrays.toString(rNum));
w=0;
while(w<10) {
//user input
ball = strike = 0;
while(true) {
for (int i = 0; i < uNum.length; i++) {
System.out.print((i+1) + "번째 수 =");
uNum[i] = sc.nextInt();
}
if(uNum[0] != uNum[1]
||uNum[0] != uNum[2]
||uNum[1] != uNum[2] ) {
break;
}
System.out.println("잘못입력했습니다");
}
// ball
for (int i = 0; i < rNum.length; i++) {
for (int j = 0; j < rNum.length; j++) {
if(rNum[i] == uNum[j] && i != j) {
ball++;
}
}
}
//strike
for (int i = 0; i < rNum.length; i++) {
if(rNum[i] == uNum[i] ) {
strike++;
}
}
// 판정
if(strike > 2) {
clear = true;
break;
}
//메세지
System.out.println(strike + " strike, " + ball + " ball");
w++;
}
if(clear) {
System.out.println("Game Clear!");
System.out.println((1+w)+ "회 만에 맞췄습니다.");
}else {
System.out.println("Game Over!");
}
System.out.print("다시하시겠습니까?(y/n) : ");
String msg = sc.next();
if(!msg.equalsIgnoreCase("y")) {
break;
}
}
}
}
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 5 - 정렬 Sorting (비교정렬) (0) | 2019.11.22 |
---|---|
Java Basic : day 5 - Shuffle (카드 섞기) (0) | 2019.11.22 |
Java Basic : day 4 - Example 02 : 가위바위보 (Rock Scissors Paper) (0) | 2019.11.22 |
Java Basic : day 4 - Example 01 : 숫자 맞추기 게임 (ramdom()) (0) | 2019.11.22 |
Java Basic : day 4 - 래퍼 클래스(Wrapper Class) (0) | 2019.11.22 |