예외 없이 파싱하기
Coddy Kotlin 여정의 논리와 흐름 섹션에 포함된 레슨. 63개 중 51번째.
toIntOrNull은 유효한 범위 내의 정수 문자열에 대해 Int를 반환하고, 오버플로를 포함하여 파싱에 실패하면 null을 반환합니다. 이를 안전한 분기 또는 Elvis 대체값과 결합하세요. 트리밍은 별도의 선택 사항입니다. 앞뒤 공백을 허용해야 한다면 명시적으로 트리밍하세요.
main 내부:
println(" 24 ".trim().toIntOrNull() ?: -1)변환에 성공하기 전에 앞뒤 공백을 제거합니다.
toIntOrNull은 유효하지 않거나 범위를 벗어난 정수 텍스트를 null로 보고합니다.
챌린지
중급매개변수 text: String를 사용하여 parseOrMissing을 완성하세요. text를 trim하고 Int로 파싱하세요. 파싱에 실패하거나 값이 Int 범위를 벗어나면 -1을 반환하세요.
위에서 더 엄격한 범위를 지정하지 않은 경우, 컬렉션은 각 수준에서 최대 100개의 요소를 포함하며, 정수 인수와 정수 컬렉션 값은 -1000에서 1000 사이입니다. 파싱을 위해 제공되는 텍스트에는 설명된 대로 유효하지 않거나 범위를 벗어난 표현이 포함될 수 있습니다.
Int 타입의 값을 반환하세요. 제공된 입력/출력 코드를 유지하세요. 이 코드는 스칼라 인수를 한 줄에 하나씩 읽습니다. 리스트는 개수와 그 뒤에 이어지는 요소들로 시작하고, 맵은 항목 개수와 그 뒤에 이어지는 각 키와 값으로 시작합니다. 중첩 리스트에서는 각 행마다 개수와 요소 형식을 반복합니다. 제공된 main은 반환값 뒤에 줄바꿈 하나를 출력합니다. 리스트는 Kotlin의 표준 대괄호 형식을 사용하며, 추가 레이블은 출력하지 마세요.
직접 해보기
fun parseOrMissing(text: String): Int {
// 여기에 솔루션을 작성하세요.
return 0
}
fun main() {
val text = readLine().orEmpty()
println(parseOrMissing(text))
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: Kotlin 플레이그라운드