Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- import java.util.Scanner;
- public class NumberBaseball {
- private static final BNumber[] Answers = {new BNumber(), new BNumber(), new BNumber()};
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- int turn = 0;
- for(;;) {
- turn++;
- BNumber[] Input = read(sc);
- int strike = 0, ball = 0;
- for(int i = 0; i < Answers.length; i++) {
- BNumber cn = Answers[i];
- BNumber pn = Input[i];
- if(cn.number == pn.number) {
- strike++;
- cn.checked = true;
- pn.checked = true;
- }
- }
- for(int i = 0; i < Answers.length; i++) {
- BNumber cn = Answers[i];
- boolean ballFound = false;
- for(int j = 0; j < Input.length; j++) {
- BNumber pn = Input[j];
- if(cn.number == pn.number && i != j && !cn.checked && !pn.checked) {
- ballFound = true;
- cn.checked = true;
- pn.checked = true;
- }
- }
- if(ballFound) ball++;
- }
- for(BNumber n : Answers) n.checked = false;
- for(BNumber n : Input) n.checked = false;
- if(strike > 0 || ball > 0) {
- System.out.println(strike + " 스트라이크 " + ball + " 볼!");
- } else {
- System.out.println("아웃!");
- }
- if(strike == 3) break;
- }
- System.out.println(turn + "번만에 맞추셨습니다.");
- }
- private static BNumber[] read(Scanner sc) {
- try {
- String line = sc.nextLine();
- String[] split = line.split(" ");
- BNumber[] array = new BNumber[3];
- for(int i = 0; i < 3; i++) {
- int value = Integer.valueOf(split[i]);
- if(value > 9) throw new Exception();
- array[i] = new BNumber(value);
- }
- return array;
- } catch(Exception ex) {
- System.out.println("올바르지 않은 값입니다.");
- return read(sc);
- }
- }
- }
- class BNumber {
- private static final Random random = new Random();
- protected final int number;
- protected boolean checked = false;
- protected BNumber() {
- this.number = random.nextInt(10);
- }
- protected BNumber(int number) {
- this.number = number;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement