[language: Scala, statement: conditional]
sealed trait Weather
case object Sunny extends Weather
case object Cloudy extends Weather
case object Rainy extends Weather
object Main {
def weather(rainyPercent: Int): Option[Weather] = {
return if(0 <= rainyPercent && rainyPercent < 30) {
Some(Sunny)
} else if(30 <= rainyPercent && rainyPercent < 70) {
Some(Cloudy)
} else if(70 <= rainyPercent && rainyPercent <= 100) {
Some(Rainy)
} else {
None
}
}
def weatherResult(weather: Option[Weather]): String = {
return weather match {
case Some(w) => w match {
case Sunny => "晴れ"
case Cloudy => "曇り"
case Rainy => "雨"
}
case None => "エラー"
}
}
def main(args: Array[String]): Unit = {
println(weatherResult(weather(29)))
println(weatherResult(weather(60)))
println(weatherResult(weather(90)))
println(weatherResult(weather(200)))
}
}