案例一: 编写一个函数 它的入参是一个表示年份的整数 返回值是一个bool值 判断这个年份是否是闰年
def main(args: Array[String]): Unit = {
while (true) {
print("请输入你要判断的年份:")
var year = scala.io.StdIn.readInt()
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0) ) {
println(s"$year 年是闰年")
} else {
println(s"$year 年不是闰年")
}
}
}
案例二: 编写一个函数 用来求f(100) 的值 其中 f(n) = 1- 1/2 + 1/3 - 1/4+...1/n
奇数项为正,偶数项为负
% : 去余数
def f(n:Int) : Double = {
if (n==1) {
1.0
} else {
val ass = if (n % 2 == 1) 1 else -1
f(n-1) + ass.toDouble/n
}
}
def main(args: Array[String]): Unit = {
val rst = f(100)
println(rst)
}
案例三: 返回一个函数 用来求斐波那契数列的前20项 其中f(1) = f(2) =1 f(n) = f(n-1) + f(n-2)
if(n == 1){
1
} else if(n == 2){
1
} else {
f(n -1) + f(n -2)
}
}
def main(args: Array[String]): Unit = {
val rst = f(20)
println(rst)
}
案例四: 编写一个函数 允许用户输入一个整数年份 如果用户输入的是闰年 就停止输入 否则就一直提醒用户输入
def main(args: Array[String]): Unit = {
breakable{
while (true) {
print("请输入你要判断的年份:")
var year = scala.io.StdIn.readInt()
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0) ) {
println(s"$year 是闰年")
break
} else {
println(s"$year 不是闰年")
}
}
}
println("欢迎下次光临~")
}
案例五: 对成绩 (100,51,55,67,59,89) 进行处理 如果分数在56-59之间,就设置为60分,得到的新成绩为(100,51,55,67,60,89)
def main(args: Array[String]): Unit = {
val arr = Array(100,51,55,67,59,89)
val arr1 = arr.map(x => if(x >= 56 && x <= 59) 60 else x)
// for(i <- arr1) {
// println(i)
// }
arr1.foreach(println)
}