-
유저의 입력 받아오기
-
문자열에서 추가 구문자 추출
-
target string 에서 구분자들 기준으로 split
-
split 된 substring의 유효성 검증
- NULL or 빈문자열일 경우 0 반환
- 음수일 경우 Runtime Exception을 throw
- Integer가 아닐 경우 Exception을 throw
-
변환된 substring 들을 더하여 반환
Class
- calculator.StringParser
- parseSplitter
- parseTargetString
- splitTargetString
- castStringToInteger
- calculator.StringVerifier
- isInteger
- isPositive
- isNullOrEmpty
- calculator.Calculator
- add()
- Runner
- public run()
- private receiveInput
- private calculate
- private printResult
- interface RacingPlayer
- property
- String name
- int position
- method
- proceedNextTurn
- getScore
- getName
- property
- interface GamePlayStrategy
- generateScore
- class Car implements RacingPlayer
- @override toString
- GameRule
- static property
- STANDARD_SCORE
- GAME_PLAY_STRATEGY
- static method
- isAbleToProceed
- getWinners
- static property
- RandomPlayStrategy implements GamePlayStrategy
- OutputView
- method
- askForNames
- askForNumberOfTurns
- printCurrentStatus
- printWinners
- getConcatenatedNameFromArray
- method
- InputView
- method
- getPlayerNames
- getNumberOfTurns
- verifyName
- method
- class RacingController
- property
- inputView
- racingPlayers
- playerNames
- numberOfTurns
- method
- run
- getNamesFromUser
- getNumberOfTurnsFromUser
- printResult
- createPlayers
- runSingleTurn
- sleep
- property