例外を使わない解析
CoddyのKotlinジャーニー「ロジックとフロー」セクションの一部。レッスン 51/63。
toIntOrNullは、有効な範囲内の整数文字列に対してIntを返し、オーバーフローを含め、解析に失敗した場合はnullを返します。安全な分岐またはエルビス演算子のフォールバックと組み合わせてください。トリミングは別途選択する必要があります。前後の空白を受け入れる場合は、明示的にトリミングしてください。
main内:
println(" 24 ".trim().toIntOrNull() ?: -1)変換が成功する前に、前後の空白を削除します。
toIntOrNull は、無効または範囲外の整数テキストを null として報告します。
チャレンジ
中級parseOrMissingをパラメータtext: String付きで完成させてください。textをトリミングし、Intとして解析します。解析に失敗した場合、または値がIntの範囲外の場合は、-1を返してください。
上記でより厳しい境界が指定されていない限り、コレクションは各レベルで最大100個の要素を含み、整数の引数および整数コレクションの値は-1000から1000の間です。解析用に提供されるテキストには、説明されているように無効な表現や範囲外の表現が含まれる場合があります。
型Intの値を返してください。提供されている入力/出力コードはそのまま使用してください。スカラー引数は1行に1つずつ読み取ります。リストは個数の後に要素が続く形式で始まり、マップはエントリ数の後に各キーと値が続く形式で始まります。ネストされたリストでは、各行について個数と要素の形式を繰り返します。提供されているmainは、戻り値の後に改行を1つ出力します。リストにはKotlinの標準的な角括弧形式を使用し、追加のラベルは出力しないでください。
自分で試してみよう
fun parseOrMissing(text: String): Int {
// ここに解答を書いてください。
return 0
}
fun main() {
val text = readLine().orEmpty()
println(parseOrMissing(text))
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド