JAVA-숫자야구 게임
2023. 1. 18. 17:22ㆍ코딩일기/JAVA
import java.util.Random;
import java.util.Scanner;
public class Baseball {
public static void main(String[] args) {
int[] num = new int[3];
int num1, num2, num3, number;
Random random = new Random();
Scanner scan = new Scanner(System.in);
// 중복값 제거
for (int i = 0; i < 3; i++) {
num[i] = random.nextInt(10);
for (int j = 0; j < i; j++) {
if (num[i] == num[j]) {
i--;
continue;
}
}
}
for (int i = 0; i < 10; i++) {
int strike = 0, ball = 0;
System.out.print(i + 1 + "회: ");
number = scan.nextInt();
num1 = number / 100; //100의 자리를 num1에 저장!
num2 = number / 10 - num1 * 10; //10의 자리를 num1에 저장!
num3 = number % 10; //1의 자리를 num1에 저장!
if (num1 == num[0]) {
strike++;
}
if (num2 == num[1]) { //바로 위아래 if 문은 strike!
strike++;
}
if (num3 == num[2]) {
strike++;
}
if (num1 == num[1] || num1 == num[2]) {
ball++;
}
if (num2 == num[0] || num2 == num[2]) { // 위아래 if문은 ball!
ball++;
}
if (num3 == num[0] || num3 == num[1]) {
ball++;
}
if (strike == 3) {
System.out.println("정답!!");
break;
}
System.out.println("S" + strike + " " + "B" + ball);
}
System.out.println(num[0] * 100 + num[1] * 10 + num[2]);
}
}
우선 처음 짠 코드다...if문이 매우 지저분해 보이니까 바꿔보도록 하자!
반응형
'코딩일기 > JAVA' 카테고리의 다른 글
JAVA-Array (기본형 배열) (0) | 2023.01.20 |
---|---|
JAVA-연습문제_20230119 (0) | 2023.01.19 |
JAVA-String (0) | 2023.01.19 |
JAVA-Random (0) | 2023.01.18 |
JAVA-Scanner (0) | 2023.01.18 |