结构:
for ( 循环变量 <- 数据集) {
for(){
for(){
}
}
}
说明:
1.for可以替换成while循环。
2.循环的嵌套可以有多个,数量不限。
3.里外层循环执行的次数不相同。
案例一:
object day5 {
def main(args:Array[String]): Unit = {
var k = 0 //这里的k在这里的作用是记录输出的次数
for(i <-0 to 5){ //外层循环
println(i) // 输出几次?它由那个循环变量的值所决定?
for(j <-11 to 20){ //内层循环
k =k+1
println(k,i,j)
}
}
}
}
案列二:
要求输出宝塔数,如:
1
22
333
4444
55555
object day51 {
def main(args:Array[String]): Unit = {
for(i <-1 to 5){
for(j <- 1 to i ){
print(i)
}
println()
}
}
}
案列三:
要求输出倒宝塔数,如:
55555
4444
333
22
1
object day51 {
def main(args:Array[String]): Unit = {
for(i <-5 to 1 by -1){ // 这里的i 是由5依次递减1位数到1所得的
for(j <- 1 to i ){ // j的范围由i决定的
print(i)
}
println()
}
}
}
案列四:
object day52 {
def main(args:Array[String]): Unit = {
/*/
请输出九九乘法表!
*/
for(i <-1 to 9){
for(j <-1 to i){
printf("%d×%d=%-4d",j,i,i*j)
}
println()
}
}
}
%d:占位符,会输出一个整数
*%-4d:占位符,会输出一个整数,一共占据4个字符的空间大小,左对齐!
%4d:占位符,会输出一个整数,一共占据4个字符的空间大小,右对齐!
案列五:
“百鸡百钱”是一个经典的数学问题,最早见于中国古代数学著作《张丘建算经》。其原文如下: 鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 翻译成现代语言:
公鸡(鸡翁)1只,价格5钱;
母鸡(鸡母)1只,价格3钱;
小鸡(鸡雏)3只,价格1钱(即1钱买3只小鸡);
用100钱买100只鸡,问公鸡、母鸡、小鸡各有多少只?
for(gj <- 1 to 20) {
for(mj <- 1 to 33){
val xj = 100 - gj - mj
if(xj % 3 == 0 && 5*gj + 3*mj + xj/3 == 100){
println(gj, mj, xj)
}
}
}