IanJang / java-baseball-precourse

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

기능 목록

(* 최초 작성한 내용)

  • 1부터 9까지 서로 다른 임의의 수 3개를 선택하는 기능
  • 숫자 두 개를 입력 받아 스트라이크, 볼을 판정 하는 기능
  • 세자리 수 두 쌍을 입력 받아 스트라이크와 볼 개수를 리턴하는 기능
  • 대화형 입출력 기능

구현 기능 목록

  • BallCount Class
    • 멤버변수
      • private int strike: 스트라이크 수
      • private int ball: 볼 수
    • 메소드
      • public BallCount(): 디폴트 생성자
      • public BallCount(int strike, int ball): strike, ball을 파라미터로 전달받는 생성자
      • public void setStrike(int strike): strike 멤버 변수의 setter
      • public int getStrike(): strike 멤버 변수의 getter
      • public void setBall(int ball): ball 멤버 변수의 setter
      • public int getBall(): : ball 멤버 변수의 getter
      • public void add(BallCount ballCount): BallCount 인스턴스를 파라미터로 받아 스트라이크, 볼 수를 더함
  • Baseball Class
    • 멤버변수
      • List answerNumbers: 정답 숫자 리스트
      • private enum Command { START, CONTINUE, FINISH }: 게임 상태
    • 메소드
      • public void Baseball(): 생성자, 1부터 9까지 서로 다른 임의의 수 3개를 생성하고 BallCount를 리셋
      • private void makeUniqueAnswerNumber(): 다른 숫자와 겹치지 않는 정답 숫자 1개를 생성
      • void setAnswerNumbers(List value): 정답을 임의로 설정 (default 제한자로 동일 페키지 내에서만 허용, For Test)
      • public boolean checkAnswer(List numbers): 세자리 수를 입력받아 정답과 비교하여 스트라이크와 볼 개수를 출력
      • private BallCount getBallCountFromNumber(int number, int idx): 숫자와 인덱스를 입력받아 스트라이크, 볼을 판정하여 생성한 BallCount 인스턴스를 리턴
      • public void printBallCount(): 현재 BallCount를 System.out으로 출력
      • private void playGameLoop(Scanner scanner): 정답을 맞출 때 까지 게임 라운드를 반복하는 메소드
      • private boolean playGameRound(Scanner scanner): 게임 라운드를 진행하는 메소드. 입력된 세자리 수로 볼카운트를 판정하여 메시지를 출력
      • public static void main(String[] args): 숫자야구게임 시작점. 게임이 종료 후 다시 시작하거나 완전히 종료하는 기능 포함
  • Utils Class
    • public static List stringToIntegerListWithDelimiter(String input): delimiter 가 포함된 String 형태의 숫자를 입력받아 Integer List 로 변환하여 리턴 (default delimiter: ",")
    • public static List stringToIntegerListWithDelimiter(String input, String delimiter) delimiter가 포함된 String 형태의 숫자를 입력받아 Integer List 로 변환하여 리턴
    • public static List stringToIntegerList(String input): String 형태의 수를 입력받아 자리 수 별로 분리하여 IntegerList로 변환하여 리턴
  • ScannerUtil Class: Scanner를 singleton으로 사용하기 위한 구현체

About


Languages

Language:Java 100.0%