知识点:守卫

67 阅读1分钟
package matchcase

// *知识点:守卫
//value match {
 // case 模式 if 条件 => 执行的事情}

object matchcase07 {
  def main(args: Array[String]): Unit = {
  val a = 11
    a match {
      case x:Int if a > 10 => println("a 是大于10的Int")
      case _ => println("a is not Int")
    }
  }
}

image.png

  • 写一个函数,参数有两个。一个是月份,一个是日期。返回值是对应的星座
  • 1月20日到2月18日:水瓶座
package matchcase
/*
* 写一个函数,参数有两个。一个是月份,一个是日期。返回值是对应的星座
* 1月20日到2月18日:水瓶座
*
 */

object matchcase08 {

  def getZodiac(month: Int, day: Int): String = {
    month match {
      case 1 if day >= 20 => "水瓶座"
      case 2 if day <= 18 => "水瓶座"
      case 2 if day >= 19 => "双鱼座"
      case 3 if day <= 20 => "双鱼座"
      case 3 if day >= 21 => "白羊座"
      case 4 if day <= 19 => "白羊座"
      case 4 if day >= 20 => "金牛座"
      case 5 if day <= 20 => "金牛座"
      case 5 if day >= 21 => "双子座"
      case 6 if day <= 21 => "双子座"
      case 6 if day >= 22 => "巨蟹座"
      case 7 if day <= 22 => "巨蟹座"
      case 7 if day >= 23 => "狮子座"
      case 8 if day <= 22 => "狮子座"
      case 8 if day >= 23 => "处女座"
      case 9 if day <= 22 => "处女座"
      case 9 if day >= 23 => "天秤座"
      case 10 if day <= 23 => "天秤座"
      case 10 if day >= 24 => "天蝎座"
      case 11 if day <= 22 => "天蝎座"
      case 11 if day >= 23 => "射手座"
      case 12 if day <= 21 => "射手座"
      case 12 if day >= 22 => "摩羯座"
      case 1 if day <= 19 => "摩羯座"
      case _ => "未知"
    }
  }
        def main(args: Array[String]): Unit = {
        println(getZodiac(1,19))
          println(getZodiac(1,21))
        }


}

image.png