while循环

28 阅读1分钟

while循环

1.如何打印I miss you! 3000次
object base16 {
  def main(args: Array[String]): Unit = {
    var i=1;
    while (i<=3000){
      println(s"$i. I miss you!")
      i=i+1
    }
  }
}
2.输出1~100内的奇数
object base17 {
  def main(args: Array[String]): Unit = {
//    var i=1
//    while (i<=100){
//      println(i)
//      i=i+2
//    }
    var i=1
    while (i<=100){
      if(i%2==1){
        println(i)
      }
      i+=1
    }
  }
}
3.求1~100的和
object base18 {
  def main(args: Array[String]): Unit = {
    var sum=0
    var i=1
    while(i<=100) {
      sum=sum+i
      i+=1
    }
    println(sum)
  }
}
4.1~100内,能被3整除的数的和
object base19 {
  def main(args: Array[String]): Unit = {
//    var i=3
//    var sum=0
//    while (i<=100){
//      sum+i
//      i+=3
//    }
//    println(sum)

    var sum=0
    var i=1
    while(i<=100){
      if(i%3==0){
        sum+=i
      }
      i+=1
    }
    println(sum)
  }
}

while死循环

请输入一个年份,判断是否为闰年

object base19 {
  def main(args: Array[String]): Unit = {
    while (true){
      print("请输入一个年份")
      val year=scala.io.StdIn.readInt()
      if (year%400==0||(year%4==0&&year%100!=0)){
        println(s"$year 是一个闰年")
      } else {
        println(s"$year 不是一个闰年")
      }
    }
  }
}

跳出循环

1.自动跳出。循环条件不成立,就会自动结束循环
2.手动跳出循环。break
import scala.util.control.Breaks.{break, breakable}

object base20 {
  def main(args: Array[String]): Unit = {
    /**
     * breakable{
     *    while(true){
     *        //循环内容
     *        if(某个特殊条件成立){
     *          break
     *        }
     *    }
     * }
     */

    breakable{
      while (true){
        print("请输入一个年份(输入0结束程序)")
        val year=scala.io.StdIn.readInt()
          if (year==0){
            break
        }
        if (year%400==0||(year%4==0&&year%100!=0)){
          println(s"$year 是一个闰年")
        } else {
          println(s"$year 不是一个闰年")
        }
      }
    }
    println("欢迎下次使用!")
  }
}