scala内建控制-循环语句while2

31 阅读1分钟

(一)案例-求数列的和

object Base16 {
  def main(args: Array[String]): Unit = {
//    求s= 1 + 1/2 + 1/3 + 1/4  + 1/5 .... +1/19的值
    var i = 1
    var sum = 0.0
    while(i <= 19){
      println(i)
      sum += 1.0/i // sum = sum + i
      i = i + 1
    }
    println(s"${sum}")
// 求s= 1 - 1/2 + 1/3 - 1/4  + 1/5 .... +1/19的值
    var i1 = 1
    var sum1 =0.0
    while(i1 <= 19){
      if(i % 2 == 1){
        sum1 += 1.0/i
      }else{
        sum1 -= 1.0/i
      }
      i = i + 1
    }
    println(s"${sum1}")
  }
}

(二)案例-判断是否素数

object Base17 {
  def main(args: Array[String]): Unit = {
    //判断一个数是不是素数
    //素数只有1和它本身能被整除

    var num =121
    var isPrime = true
    var i = 2
    while (i <= num -1){
      if(num % i == 0){
        isPrime = false
        println(s"${num} 能被${i}整除")
      }
      i += 1
    }
    if(isPrime){
      println(s"${num}是素数")
    }else {
      println(s"${num}不是素数")
    }
  }

(四)案例-复利公式

object Base18 {
  def main(args: Array[String]): Unit = {
   //1. 第十年结束有多少元
    var i = 0
    var money = 1.0
    while (i < 10){
      money = money * 1.1
      i = i + 1
      println(s"第${i}年结束时,钱数为${money}")
    }
  }
}
object Base18 {
  def main(args: Array[String]): Unit = {
   //2.多少年之后能超过1000元
    var i = 0
    var money = 1.0
    while (money < 1000){
      money = money * 1.1
      i = i + 1
      println(s"第${i}年结束时,钱数为${money}")
    }
    println(i)
  }
}