Scala的循环语句

54 阅读1分钟

do循环与if循环的区别:

var i =

do{

} while:至少输出一次,先输入后判断条件,if则先判断条件在根据条件是否满足进行运行

image.png

求s= 1 - 1/2 + 1/3 - 1/4  + 1/5 .... +1/19的值。

1.while 循环执行的区间是1 - 20

2.求和项需要注意符号


object Main {

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

     var sum:Double = 0 // 不然写成 sum = 0; sum默认是Int

     var i = 1

     while(i <= 19) {

         // 如果i是奇数就是 +

         if(i%2 == 1){

            sum += 1.0 / i

         } else { // 否则,就是 -

            sum -= 1.0 / i

         }

         i += 1

     }

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

}

}

判断一个数是否为素数(质数)

object txy16 {
  def main(args: Array[String]): Unit = {
    println("请输入一个数字:")
    var num = scala.io.StdIn.readInt()
    var a = true
    var i =2
    while(i <=num -1){
      if(num % i ==0){
        a = false
      }
      i = i+1
    }
    if(a){
      println(s" 是素数")
    } else{
      println(s" 不是素数")
    }
  }
}

假设某人投资年回报率为10%,那么第十年时有多少钱?

object txy17 {
  def main(args: Array[String]): Unit = {
    var i =0
    var m = 1.0
    while(i<10){
      m = m * 1.1
      i = i + 1
      println(s"第${i}年结束是,资金为${m}")
    }
  }
}

多少年后能超过1000元?

object txy18 {
  def main(args: Array[String]): Unit = {
    var i = 0 
    var m = 1.0
    while(m<=1000){
      m = m*1.1
      i = i+1
    }
    println(s"第${i}年时能超过1000元")
  }
}

for循环的使用:(by:步长:默认为1)

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