1.将该List(1,2,3,4,5,6,"test")中的Int类型的元素加一,并去掉字符串。
代码:
object Test4{
def main(args: Array[String]): Unit = {
var num =List(1,2,3,4,5,6,"test")
var num2 = num.map(
a => a match {
case i:Int => i+1
case s:String => s+1 //匹配类型
}
)
println(num2.filter(a=>a.isInstanceOf[Int]))
}
}
运行结果:
List(2, 3, 4, 5, 6, 7)
2.随机产⽣⼀个a~z之间的⼩写字母,判断是否是元⾳ a e i o u
代码:
object Test {
def main(args: Array[String]): Unit = {
var random = new Random()
var num = random.nextInt(26)+97
var result = num.toChar
var result2 = result match {
case 'a' =>"是元⾳"
case 'e'=>"是元⾳"
case 'i'=>"是元⾳"
case 'o'=>"是元⾳"
case 'u'=>"是元⾳"
case _ =>"不是元⾳"
}
print("字母:"+result+"判断结果:"+result2)
}
}
运行结果:
字母:v判断结果:不是元⾳
3.编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表 达式data1 op data2的值,其中op可为+,-,*,/(用match语句实现)
代码:
object numTest2 {
def main(args: Array[String]): Unit = {
println("请输入第一个数")
var num1 = StdIn.readInt()
println("请输入第二个数")
var num2 = StdIn.readInt()
println("请输入运算符")
var op = StdIn.readChar()
var result = op match {
case '+' => num1 + num2
case '-' => num1 - num2
case '*' => num1 * num2
case '/' => num1 / num2
case _ =>"其他值"
}
println("结果为"+result)
}
}
运行结果:
请输入第一个数
2
请输入第二个数
3
请输入运算符
+
结果为5
进程已结束,退出代码为 0
4.编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩,设90分以上 为’A’80~89为’B’70~79为’C’60~69为’D’60以下’E’(用match语句实现)
代码:
object scoreTest3 {
def main(args: Array[String]): Unit = {
println("请输入成绩")
var score = StdIn.readInt()
var result = score match {
case x if(x>=90 && x<=100) =>"等级为A"
case x if(x>=80) =>"等级为B"
case x if(x>=70) =>"等级为C"
case x if(x>=60) =>"等级为D"
case x if(x<60) =>"等级为E"
case _ => "无效成绩"
}
print(result)
}
}
运行结果:
请输入成绩
20
等级为E