Scala的循环结构

71 阅读1分钟

while的循环

下面是while循环结构的例子

  1. 循环3000次i miss you
var i=0
while(i<3000){
  println(s"${i},i miss you")
  i=i+1
}
println("循环结束")
  1. 循环输出1~100奇数(1,3,5,7....),每行一个
var i=1
while (i<100){
  if(i%2==1) {
    println(i)
  }
  i+=1
}
  1. 1+2+3+4+....+100的结果
var sum=0
var i=1
while (i<=100){
  sum+=i
  i+=1
}
println(s"sum=$sum")

while的死循环

下面是while死循环的例子

  1. 判断输入的年份是否为闰年
while(true){
  print("请你输入要判断的年份:")
  var year=scala.io.StdIn.readInt()

  if(year%400==0||(year%4==0 && year%100!=0)){
    println(s"$year 是闰年")
  }else {
    println(s"$year 不是闰年")
  }
}
  1. 算1-1/2+1/3-1/4+....+1/19的结果
//1-1/2+1/3-1/4+....+1/19
var sum:Double=0
var i=1
while(i<=19){
    if(i%2==1){
    sum += 1.0/i
}else{
    sum -= 1.0/i
    }
    i += 1
}
println(s"sum=${sum}")
  1. 从键盘上面敲一个数看是不是素数
//从键盘上面敲一个数看是不是素数
var num=scala.io.StdIn.readInt()
var isPrime:Boolean=true
var i=2
while(i<=num-1){
   if(num%i==0){
   isPrime=false
   }
   i+=1
}
if(isPrime){
   println(s"$num 是素数")
}else{
  println(s"$num 不是素数")
}
  1. 小球落地高度问题,从100米高度落下来,弹多少次才小于0.5米。
var i=0 //落地的次数
var heigh:Double=100  //初始为100米
while(heigh>=0.5){
    heigh=heigh/2
    i+=1
    println(s"经过${i}次落地之后,小球的高度是${heigh}")
}
println(s"--经过${i}次落地之后,小球的高度是${heigh},小于0.5米的--")
  1. 两个金钱问题:最开始的钱为1元,10年之后,总的钱变成了多少元;最开始的钱为1元,多少年之后,总的钱可以超过1000。
var i=0
var money:Double=1
while(i<10){
    //每一年的钱,都在去年基础上增加10% ====== 乘以1.1
    money=money * 1.1
    i+=1
    println(s"$i 年之后,有 $money 元")
}
println(s"10年之后,总的钱变成了: $money")
println(----------------------------------------------------)
var i=0
var money:Double=1
while(money<=1000){
    //每一年的钱,都在去年基础上增加10% ====== 乘以1.1
    money=money * 1.1
    i+=1
}
println(s"$i 年之后,总的钱可以超过1000")