Scala中的嵌套循环

66 阅读1分钟

1.多重循环的基本使用

格式:

for ( 循环变量 <- 数据集) {  
  for(){  
    for(){  
    }  
  }  
}

说明:

1.for可以替换成while循环。

2.循环的嵌套可以有多个,数量不限。

3.里外层循环执行的次数不相同。

代码应用:

object base28 {
  def main(args: Array[String]): Unit = {
    for (i <- 1 to 5){
      println(i)
      for(j <- 10 to 15){
        print(i, j)
      }
    }
  }
}

Snipaste_2025-09-30_08-31-07.png

例题1:

用代码写出一个乘法口诀表:

object base30 {
  def main(args: Array[String]): Unit = {
    for (i <- 1 to 9) {
      for (j <- 1 to i) {
        // printf(s"${i}t${i}=${i*i}")
        printf("%d*%d=%-4d", j,i, j * i)
        /*
       * %d:占位符,会输出一个整数.
       * %4d:占位符,会输出一个整数,一共占据四个字符的空间大小,右对齐?
       * %4d:占位符,会输出一个整数,一共占据四个字符的空间大小,右对齐?
       */
      }
      println()
    }
  }
}

Snipaste_2025-09-30_09-17-54.png

例题2:

百鸡百钱: 公鸡一只5钱,母鸡一只3钱,小鸡三只1钱,共有100只鸡,100文钱。

object base31 {
  def main(args: Array[String]): Unit = {
    //百鸡百钱
    for(gj <- 1 to 20) {
      for(mj <- 1 to 33){
        val xj = 100 - gj - mj
        if(xj >=0  && xj % 3 == 0){
          if(5*gj + 3*mj + xj/3 == 100){
            println(gj, mj, xj)
          }
        }
      }
    } 
  }
}