Taking baby-developer steps
프로그램 시나리오로부터 구현 기능 목록 도출 본문
- 기능 도출
1. 출력 메서드(파라미터 : 문자열 / return : X)
- 파라미터로 전달받은 문자열을 터미널에 출력한다.
- (게임 시작, 피드백, 재시작혹은 종료 시 사용자에게 알리기 위함)
2. 랜덤 수 선택 메서드(파라미터 : X / return : int(3자리 정수))
- 랜덤한 3자리 숫자 정수를 반환한다.
- camp.nextstep.edu.missionutils.Randoms의 pickNumberInRange()를 활용
- 각 자리 숫자는 중복을 허용하지 않는다.
3. 입력 유효성 검사 메서드 (파라미터 : 문자열 / return : null 혹은 exception)
- 사용자가 입력한 값의 유효성을 검사한다.
- 2종류의 입력이 유효하다.
(게임 도중 : 3자리 숫자 정수로 변환가능한 문자열)
(한 게임 종료 후 : 1 or 2)
- 앞뒤로 공백 혹은 그에 상응하는 문자(White space)는 무시한 후 입력 유효성 검사를 한다.
4. 사용자 입력과 랜덤 수 매칭 판단 메서드(파라미터 : 2개의 int / return bool)
- 사용자 입력과 랜덤 수 매칭 시 true 반환
- 불 일치시 false 반환
5. 피드백 메서드 (파라미터 : 2개의 문자열(int에서 문자열로 변환) / return : 문자열)
- 4번 메서드가 false를 반환할 시 실행되는 메서드
- 불일치 하는 두 문자열의 유사도를 판별한다.
- 유사도에 따라 사용자에게 줄 피드백 메세지를 반환한다.
6. 유사도 판별 메서드 (파라미터 2개의 문자열 / return : int(문자열 배열의 인덱스))
- 5번 메서드가 호출하는 시스템 메서드
- 5번 메서드 내부에 반환할 문자열을 배열로 만들어져있다고 가정하고, 해당 피드백의 인덱스를 반환한다.
7. 프로그램 종료 메서드
- 프로그램을 종료한다.
- 프로그램 종료시 System.exit()를 호출하지 않는다.
구현기능 목록을 메서드 별로 작성했다. 조금 더 '기능'에 초첨을 두고 만들어도 좋지 않을까 생각한다.
'Logs > 학습 log' 카테고리의 다른 글
22.06.14 minitalk - server 프로그램 구현 (0) | 2022.06.14 |
---|---|
22.06.14. push_swap 프로그램 과제 완료 / minitalk 과제 시작 (0) | 2022.06.14 |
22.05.09.push_swap - 정렬 알고리즘 최적화-7 (0) | 2022.05.09 |
22.05.06.push_swap - 정렬 알고리즘 최적화-6 (0) | 2022.05.06 |
22.05.05.push_swap - 정렬 알고리즘 최적화-5 (0) | 2022.05.05 |
Comments