object Scala4 {
def main(args:Array[String]): Unit = {
print(detProvinceName(11))
print(detProvinceName(42))
print(detProvinceName(12))
}
def detProvinceName(code:Int):String = {
code match {
case 42 => "湖北"
case 11 => "北京"
case _ => "未知"
}
}
}
object Scala5 {
object matchecase2 {
def main(args: Array[String]): Unit = {
val xiaoming = (100, 100, 100)
val xiaohong = (99, 98)
getscore(xiaoming)
getscore(xiaohong)
getscore((1,2,3,4))
}
def getscore(score: Any): Unit = {
score match {
case t: Product if t.productArity == 2 =>
println(s"元组中有两个元素: a = ${t.productElement(0)}, b = ${t.productElement(1)}")
case t: Product if t.productArity == 3 =>
println(s"元组中有三个元素: a = ${t.productElement(0)}, b = ${t.productElement(1)}, c = ${t.productElement(2)}")
case _ => println("未知")
}
}
}
}
object Scala6 {
case class Circle(radius: Double)
case class Rectangle(width: Double, height: Double)
def getArea(obj: Any): Unit = {
obj match {
case Circle(r) => println(s"圆形的面积是:${r * r * 3.14}")
case Rectangle(w, h) => println(s"矩形的面积是:${w * h}")
case _ => println("未知图形")
}
}
def main(args: Array[String]): Unit = {
getArea(Circle(2))
getArea(Rectangle(2, 3))
getArea("abc")
}
}