idiombook
7/17/2017 - 5:26 AM

[language: Kotlin, statement: conditional]

[language: Kotlin, statement: conditional]

enum class Weather {
    SUNNY, 
    CLOUDY, 
    RAINY
}

fun weather(rainyPercent: Int): Weather? {
    return if (0 <= rainyPercent && rainyPercent < 30) {
        Weather.SUNNY
    } else if (30 <= rainyPercent && rainyPercent < 70) {
        Weather.CLOUDY
    } else if (70 <= rainyPercent && rainyPercent <= 100) {
        Weather.RAINY
    } else {
        return null
    }
}

fun weatherResult(weather: Weather?): String {
    if (weather == null) {
        return "エラー"
    }
    return when(weather) {
        Weather.SUNNY -> "晴れ"
        Weather.CLOUDY -> "曇り"
        Weather.RAINY -> "雨"
    }
}

fun main(args: Array<String>) {
    println(weatherResult(weather(29)))
    println(weatherResult(weather(60)))
    println(weatherResult(weather(90)))
    println(weatherResult(weather(200)))
}