벌써 30일!
사용자의 입력값에 따라, 검증을 하는 메서드를 제작했다.
Input의 범위는 min ~ max 까지이며,
만약 string으로 지정된 input이 만약,
정수 변환에 성공하면 true, 정수 값을 ret에 반환한다.
실패하면 false이며 예외를 던진다.
예외를 catch하면, 오류 메시지를 출력한다.
public static int CheckValidInput(int min, int max)
{
while (true)
{
string input = Console.ReadLine();
try
{
// 입력된 문자열을 정수로 변환 -> t, 정수 값 -> ret
// 실패 -> f , FormatException 발생.
bool parseSuccess = int.TryParse(input, out var ret);
if (!parseSuccess)
{
throw new FormatException("숫자를 입력해주세요: ");
}
return ret;
}
catch (FormatException ex)
{
// try에서 발생한 오류를 catch 블록에서 처리.
Console.SetCursorPosition(3, 27);
Console.Write(ex.Message);
}
}
}
만약 숫자를 범위 밖의 숫자를 입력하면
숫자를 다시 입력해야한다.
문자를 입력하면(int 제외 모든 데이터 형식)
처리되지 않는다.
새로 구현된 UI 수정, 콘솔 색상 변경, 디자인 추가 등등....
시간은 많이 썼는데, 막상 한게 없어 보인다.
알고리즘 빨리 해결해야지..