循环啦

70 阅读1分钟

一.多重循环

var n = 0
 for (i <- 3 to 30){
   for (j <- 5 to 20){
     for (k <- 10 to 30) {
       n += 1
       println(n, i, j, k)
     }

二.输出的代码形状为 1

                  22
                  333 
                  4444
                  55555
for (i <- 1 to 5) {    // 控制有几行
  for (j <- 1 to i) {  // 控制具体某一行的内容
    print(i)          //不换行
  }
  println()            //换行
}

三.输出99乘法表

for (i <- 1 to 9){
  for (j <- 1 to i){
    print(s"${j}*${i}=${i*j}  ")
  }
  println()
}
  1. %d: 表示占位符,要填入一个整数
  2. %-4d:表示一个占位符,要填入一个整数,并且:一共四位,左对齐
  for (i <- 1 to 9){
    for (j <- 1 to i){
      printf("%d*%d=%-4d",j,i,i*j)
    }
    println()
  }
}
  • j 填入第一个 %d
  • i 填入第二个
  • i*j 填入%-4d

四. 百鸡百笼

var k = 0
for (gj <- 0 to 100 ){
  for (mj <- 0 to 100){
    var xj = 100 - mj - gj
    if(xj >= 0 && xj%3==0){
      if(gj*5+mj*3+xj/3 == 100){
        k += 1
        println(k,gj,mj,xj)
      }
    }
  }