scala阶段1过关练习

54 阅读1分钟

经过那么久的学习scala,接下来我们就测试一下我们这么久的学习成果吧👇

scala1.png 题目答案:

第1题,

object day43 {
  def main(args: Array[String]): Unit = {

    val year:Int = scala.io.StdIn.readInt()

    var result:Boolean=  (year % 4 == 0 && year%100!=0) ||(year%400==0)
    if(result){
      println(s"$year 是闰年")
    }
    else{
      println(s"$year 不是闰年")
    }
  }
}

第2题,

object day44 {
  def main(args: Array[String]): Unit = {
    var sum:Double = 0
    var  i = 1
    while (i<=100) {
      if (i % 2 == 1) {
        sum = sum + 1.0 / i // 1/3(奇数)
      } else {
        sum = sum - 1.0 / i // 1/2(偶数)
      }
      i += 1
    }
    println(s"sum=${sum}")
  }

}

第3题,

object day45 {

  def f(n: Double): Double = {
    if (n == 1 || n == 2) {
      1
    }
    else {
      f(n - 1) + f(n - 2)
    }
  }

  def main(args: Array[String]): Unit = {
    for (i <- 1 to 20){
      println(f(i)+"")
    }
  }

}

第4题,

object day46 {
  import scala.io.StdIn
  // 判断闰年的函数
  def isLeapYear(year: Int): Boolean = {
    (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
  }

  def main(args: Array[String]): Unit = {
    var year = 0
    do {
      print("请输入年份:")
      year = StdIn.readInt()
    } while (!isLeapYear(year))
    println(s"您输入的闰年是:$year")

  }
}

第5题,

object day47 {
  def main(args: Array[String]): Unit = {
    // 原始成绩数组
    val yuanshuju = Array(100, 51, 55, 67, 59, 89)

    // 处理成绩
    val chulihou = yuanshuju.map { score =>
      if (score >= 56 && score <= 59) 60 else score
    }

    println(s"原始成绩:${yuanshuju.mkString("(", ", ", ")")}")
    println(s"处理后成绩:${chulihou.mkString("(", ", ", ")")}")
  }
}