728x90
반응형
package Assignment;
import java.util.Scanner;
/**
* 중복되지 않는 세 자리 숫자(정답)를 입력하고,
* 세 자리 숫자를 최대 3번 입력받아 스트라이크, 볼, 아웃을 출력해준다.
* 스트라이크 : 자리와 숫자가 일치하는 개수
* 볼 : 자리는 다르지만 숫자가 일치하는 개수
* 아웃 : 틀린 횟수
*/
public class BaseBallgame {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int input = scanner.nextInt();
int A = input/100;
int B = (input/10) % 10;
int C = input % 10;
int cnt = 0;
while(true) {
cnt++;
System.out.print(cnt+"회 입니다. 예상숫자를 입력해주세요! >> ");
int BASE = scanner.nextInt();
int str = 0;
int ball = 0;
int out = 0;
if(BASE/100 == A) {
str++;
}
else if(BASE/100 == B) {
ball++;
}
else if(BASE/100 == C) {
ball++;
}
else {
out++;
}
if((BASE/10)%10 == B ) {
str++;
}
else if((BASE/10)%10 == A) {
ball++;
}
else if((BASE/10)%10 == C) {
ball++;
}
else {
out++;
}
if(BASE%10 == C) {
str++;
}
else if(BASE%10 == B) {
ball++;
}
else if(BASE%10 == A) {
ball++;
}
else {
out++;
}
if (str == 3) {
System.out.println("축하합니다. 정답입니다!");
break;
}
else {
System.out.println("틀렸습니다. 스코어는 ["+str+"스트라이크, "+ball+"볼,"+out+"아웃] 입니다.");
}
}
}
}
아직 배운것이 많지 않아 랜덤변수라던가, 스위치문 등 없이 간단하게 짠 알고리즘입니다.
반응형
'language > java 과제' 카테고리의 다른 글
3. [java] 연산자 문제 (0) | 2021.06.14 |
---|---|
1. [java] 변수와 시스템 입력 이용하기 (0) | 2021.06.10 |