scala内建控制-多重循环

45 阅读1分钟

( 一)多重循环的基本使用

格式:

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

例:

object Base22 {
  def main(args: Array[String]): Unit = {
    var n = 0
    for(i <- 1 to 10){

      for(j <- 5 to 20){

        for(k <- 1 to 10 ){
          n += 1
          println(n,k,i,j)
        }
      }
    }
  }
}

(二)输出特殊图形

如下图形:

1

22

333

4444

55555

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

(三)打印九九乘法表

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

    for(i <- 1 to 9 ){
      for(j <- 1 to i){
      // print(s"${j}*${i}=${i*j}")
        printf("%d*%d=%-4d",j,i,i*j)
      }
     println()
    }
  }
}

%d表示占位符,这儿要填入一个整数, %-4d表示一个占位符,这要填入一个整数,并且,一共四位

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

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