for 循环的嵌套
1.for可以替换成while循环
2.循环的嵌套可以有多个,数量不限。
3.里外层循环执行的次数不相同。
打印五行数字图形
scss
体验AI代码助手
代码解读
复制代码
object test25 {
def main(args: Array[String]): Unit = {
for (i <- 1 to 5){ //行,一共有五行
for (j <-1 to i){ //具体一行中输出什么内容
print(i)
}
println()
}
println()
for (i <- 1 to 5){ //行,一共有五行
for (j <-i to 5){ //具体一行中输出什么内容
print(i)
}
println()
}
}
}
百鸡百钱问题
scss
体验AI代码助手
代码解读
复制代码
object test26 {
def main(args: Array[String]): Unit = {
// 假设 公鸡 x
// 母鸡 y
// 小鸡 z
//
// 5x+3y+z/3=100(1)
// x+y+z=100(2)
//
// 暴力求解
// 0<= x <=100
// 0<= y <=100
// 0<= z <=100
//
// x,y,z ->(0,0,100) 代入验算(1) 是否成立
// x,y,z ->(0,1,99) 代入验算(1) 是否成立
// x,y,z ->(0,2,98) 代入验算(1) 是否成立
// x,y,z ->(0,3,97) 代入验算(1) 是否成立
for(x <- 0 to 20){
for (y <- 0 to 33){
var z=100-x-y
if(z%3==0 && 5*x + 3*y + z/3 ==100){
println(x,y,z)
}
}
}
}
}
1. 先观察每个式子的结构
2. 再观察每行的结构。
3. 使用双层for循环,写出一个矩形结构。
scss
体验AI代码助手
代码解读
复制代码
object test27 {
def main(args: Array[String]): Unit = {
for(i <- 1 to 9){
for(j <- 1 to i){
//println(s"${j}${i}=${i*j} ")
printf("%d×%d=%-3d",j,i,i*j)
// %d 表示一个占位符,表示会以整数的格式输出对应的值。
// %3d 表示一个占位符,表示会以整数的格式输出对应的值,这是数字占3个字符的宽度,左对齐。
}
println()
}
}
}