-
循环输入直到输入闰年
object Ma {
def main(array: Array[String]): Unit = {
import scala.io.StdIn
def isLeapYear(year: Int): Boolean = {
(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
}
def inputUntilLeapYear(): Unit = {
var year = 0
do {
print("请输入年份:")
year = StdIn.readInt()
} while (!isLeapYear(year))
println(s"${year}是闰年,停止输入。")
}
inputUntilLeapYear()
}
}
-
判断闰年函数
object run {
def main(array: Array[String]): Unit = {
def is(y: Int): Boolean= {
(y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)
}
println(is(2020))
println(is(2021))
}
}
- 求斐波那契数列前 20 项的函数
object run {
def main(array: Array[String]): Unit = {
def fibonacci(n: Int): List[Int] = {
if (n == 1) List(1)
else if (n == 2) List(1, 1)
else {
val prev = fibonacci(n - 1)
prev :+ prev(n - 2) + prev(n - 3)
}
}
println(fibonacci(20).mkString(", "))
}
- 处理成绩数组
object lie {
def main(array: Array[String]):Unit={
def calculateF(n: Int): Double = {
(1 to n).map(i => if (i % 2 == 1) 1.0 / i else -1.0/i ).sum
}
// 测试
println(calculateF(100)) // 约 0.688172179310195
}
}
- 计算 f (100) 的函数
object lie {
def main(array: Array[String]):Unit={
def calculateF(n: Int): Double = {
(1 to n).map(i => if (i % 2 == 1) 1.0 / i else -1.0 / i).sum } // 测试
println(calculateF(100)) // 约 0.688172179310195
}
}