050_循环中断作业评讲


import util.control.Breaks._

object Homework01 {
  def main(args: Array[String]): Unit = {
    /*
    100以内的数求和,求出当和 第一次大于20的当前数
     */
    var sum = 0
    breakable {
      for (i <- 1 to 100) {
        sum += i
        if (sum > 20) {
          println("第一次大于20的当前数=" + i)
          break()
        }
      }
    }

    //除了上面的break机制来中断,我们也可以使用循环守卫实现中断
    println("===========================")
    // 你要见多识广
    // 你见的多了,自然就有判断力了
    var loop = true
    var sum2 = 0
    for (i <- 1 to 100 if loop == true) {
      sum2 += i
      if (sum2 > 20) {
        println("循环守卫实现中断 第一次大于20的当前数=" + i)
        loop = false
        // 编译器又不是傻子
        // 他知道你不能够置为true了
        // 他就真的跳出来了
      }
      println("i=" + i)
    }

    /*
    * 第一次大于20的当前数=6
    ===========================
    i=1
    i=2
    i=3
    i=4
    i=5
    循环守卫实现中断 第一次大于20的当前数=6
    i=6

    Process finished with exit code 0
    * */
  }
}


results matching ""

    No results matching ""