조건문과 반복문을 활용한 숫자야구게임
package c_statement;
import java.util.Scanner;
public class Baseball {
public static void main(String[] args) {
// Math.random(); // 0.0 ~ 1.0
// (int)(Math.random() * 9) + 1; // 1 ~ 9
int ran1 = (int) (Math.random() * 9) + 1; // 1 ~ 9
int ran2 = (int) (Math.random() * 9) + 1;
int ran3 = (int) (Math.random() * 9) + 1;
while (ran2 == ran1) { // ran2가 중복이면 아닐 때까지 실행
ran2 = (int) (Math.random() * 9) + 1;
}
while (ran3 == ran1 || ran3 == ran2) { // ran3가 중복이면 아닐 때까지 실행
ran3 = (int) (Math.random() * 9) + 1;
}
Scanner s = new Scanner(System.in);
int num1, num2, num3; // 입력 받을 3개의 숫자를 저장할 변수
int strike = 0;
int ball = 0;
int out = 0;
while (true) {
System.out.println("정답 확인 테스트 : " + ran1 + ran2 + ran3); // 테스트하기 편하게 바로 정답을 띄우게 해둠
System.out.print("첫 번째 숫자 입력(1 ~ 9 사이의 수 입력) : ");
num1 = Integer.parseInt(s.nextLine());
System.out.print("두 번째 숫자 입력(1 ~ 9 사이의 수 입력) : ");
num2 = Integer.parseInt(s.nextLine());
System.out.print("세 번째 숫자 입력(1 ~ 9 사이의 수 입력) : ");
num3 = Integer.parseInt(s.nextLine());
strike = 0; // 새 게임 시 strike, ball, out 초기화
ball = 0;
out = 0;
if (ran1 == num1) { // 첫 번째 숫자가 자리까지 일치
strike++;
} else if (ran1 == num2 || ran1 == num3) { // 첫 번째 숫자가 숫자만 일치
ball++;
} else {
out++;
}
if (ran2 == num2) { // 두 번째 숫자가 자리까지 일치
strike++;
} else if (ran2 == num1 || ran2 == num3) { // 두 번째 숫자가 숫자만 일치
ball++;
} else {
out++;
}
if (ran3 == num3) { // 세 번째 숫자가 자리가 일치
strike++;
} else if (ran3 == num1 || ran3 == num2) { // 세 번째 숫자가 숫자만 일치
ball++;
} else {
out++;
}
System.out.println("strike : " + strike + "," + " ball : " + ball + "," + " out : " + out);
if (strike == 3) {
System.out.println("정답");
break;
}
}
s.close();
}
}
(answer)
package c_statement;
import java.util.Scanner;
public class Baseball {
public static void main(String[] args) {
int a1 = 0;
int a2 = 0;
int a3 = 0;
do {
a1 = (int) (Math.random() * 9) + 1;
a2 = (int) (Math.random() * 9) + 1;
a3 = (int) (Math.random() * 9) + 1;
} while (a1 == a2 || a1 == a3 || a2 == a3);
Scanner s = new Scanner(System.in);
int count = 0;
while (true) {
System.out.println("3자리 숫자 > ");
int input = Integer.parseInt(s.nextLine());
int i3 = input % 10;
input /= 10;
int i2 = input % 10;
input /= 10;
int i1 = input % 10;
int strike = 0;
int ball = 0;
int out = 0;
if (a1 == i1) {
strike++;
}
if (a2 == i2) {
strike++;
}
if (a3 == i3) {
strike++;
}
if (a1 == i2 || a1 == i3) {
ball++;
}
if (a2 == i1 || a2 == i3) {
ball++;
}
if (a3 == i1 || a3 == i2) {
ball++;
}
out = 3 - strike - ball;
System.out.println(++count + "차 시도(" + i1 + i2 + i3 + ") : " + strike + "S " + ball + "B " + out + "O");
System.out.println("-------------------");
if (strike == 3) {
System.out.println("정답입니다!!");
break;
}
}
s.close();
}
}
Author And Source
이 문제에 관하여(조건문과 반복문을 활용한 숫자야구게임), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@irisblossom/조건문과-반복문을-활용한-숫자야구게임-구현저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)