一、循环的嵌套
1.for可以替换成while循环
2.循环的嵌套可以有多个,数量不限。
3.里外层循环执行的次数不相同。
object iphone4pro {
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 iphone4promax {
def main(args: Array[String]): Unit = {
for(i <- 1 to 5){ //控制有几行
for(j <- 1 to i){ //控制具体每一行上的内容
print(i)
}
println()
}
}
}
例题、如何输出乘法口诀表
两种方法
object iphone4plus {
def main(args: Array[String]): Unit = {
for(i <- 1 to 9){ //控制有几行
for(j <- 1 to i){ //控制具体每一行上的内容
print(s"${j}*${i}=${i*j} ")
}
println()
}
}
}
object iphone4plus {
def main(args: Array[String]): Unit = {
for(i <- 1 to 9){ //控制有几行
for(j <- 1 to i){ //控制具体每一行上的内容
printf("%d*%d=%-4d",j,i, i*j)
// print(s"${j}*${i}=${i*j} ")
}
println()
}
}
}
例题、"百鸡百钱" 是中国古代著名的数学问题,题意是:用 100 文钱买 100 只鸡,其中公鸡 5 文钱一只,母鸡 3 文钱一只,小鸡 1 文钱 3 只。问公鸡、母鸡、小鸡各买多少只?
object iphone5 {
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){
if(gj*5+mj*3+xj/3 ==100 && xj%3 ==0){
k+=1
println(k,gj,mj,xj)
}
}
}
}
}
}