while循环2

40 阅读1分钟

do while循环

do {  
   statement(s);  
} while( condition );

(例子)输出1-10

var i=1  
do{  
    println(s"i=$i")  
     i+=1  
  }while(i<= 10)
(注意)do ... while 和while的区别在于,do...while一定会执行一次

(例子)判断一个数是不是素数

import scala.util.control.Breaks.breakable

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

    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} 不是素数")
    }
  }
}

(例子)求s= 1 - 1/2 + 1/3 - 1/4  + 1/5 .... +1/19的值

object Main {

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

     var sum:Double = 0 

     var i = 1

     while(i <= 19) {

         if(i%2 == 1){

            sum += 1.0 / i

         } else { 
 sum-=1.0

         }

         i += 1

     }

 println(s"sum=${sum}")

}

}

复利公式

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

第一年结束时有1.1元,计算过程是:1 *(1+10%) = 1.1

第二年结束时有1.21元,计算过程是:1.1*(1+10%) = 1.21元,

第三年结束时有1.331元,计算过程是:1.21*(1+10%) = 1.331元,

编写程序:

求它第10年结束时有多少元?

object Base24 {
  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}")
    }
  }
}

多少年之后能超过1000元

object Base24 {
  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)
  }
}

for循环

for ( 循环变量 <- 数据集) {
  // 循环体代码  
}

(例子)1-100之间的奇数

object Base25 {
  def main(args: Array[String]): Unit = {
    for(i <- 1 to 100 by 2 ){
    println(i)
    }
  }
}