8.while循环案例与练习

54 阅读1分钟

用while循环语句运行案例

案例1:求1+2+3+4+...+19的和

object Base21 {
  def main(args: Array[String]): Unit = {
    var i = 1
    var sum = 0
    while (i <= 19){
      println(i)
      sum = sum + i
      i = i + 1
    }
    println(s"${sum}")
  }
}
结果:190

案例2:求1+½+⅓+¼+...+1/19的和

object Base22 {
      def main(args: Array[String]): Unit = {
        var i = 1
        var sum = 0.0
        while (i<=19){
          println(i)
          sum += 1.0 / i
          i = i + 1
        }
        println(s"${sum}")
      }
}
结果:3.547739657143682

案例3:求1+½-⅓+¼-...+1/19的和

object Base23 {
    def main(args: Array[String]): Unit = {
      var i = 1
      var sum = 0.0
      while (i<=19){
        if (i % 2 == 1){
        sum += 1.0/i
      }else{
          sum -= 1.0/i
        }
      i = i + 1
    }
      println(s"${sum}")
  }
}
结果:0.718771403175428

判断一个数是否是素数

素数,只有1和它本身能被整除。
2,3,5,7,11,13,.......,97

思路

1.假设它是一个素数.
2.循环
使用2,3,4,...num-1 去除 num,如果能整除,说明num不是素数
3.循环结束,输出结果

代码如下:

import scala.util.control.Breaks.{break, breakable}

object Base24 {
  def main(args: Array[String]): Unit = {
    var num = 121
    var isPrime =true
    var i = 2
    breakable{
      while (i <= num -1){
        if (num % i == 0){
          isPrime = false
          println(s"${num}能被 ${i} 整除")
          break
        }
        i += 1
      }
    }

    println(i)
    
    
    if (isPrime){
      println(s"${num}是素数")
    }else{
      println(s"${num} 不是素数")
    }
  }
}
结果:121能被11整除 11 121不是素数

题目:假设某人的年化投资回报率是10%。也就是说投入1元之后:

屏幕截图 2025-09-24 104322.png

代码如下:

1.

object Base25 {
  def main(args: Array[String]): Unit = {
    var i = 0
    var money = 1.0
    while (i < 10){
      money = money * 1.1
      i = i + 1
      println(s"第${i}年结束时,钱数为${money}")
    }
  }
}
结果:

屏幕截图 2025-09-24 104713.png

2.

import scala.util.control.Breaks.{break, breakable}

object Base26 {
  def main(args: Array[String]): Unit = {
    var i = 0
    var money = 1.0
    while (money <= 1000) {
      money = money * 1.1
      i = i + 1
      println(s"第${i}年结束时,钱数为${money}")
    }
      println(i)
  }
}
结果:

屏幕截图 2025-09-24 104847.png