for循环与while循环的区别:
- ①.for循环用于确定循环次数的循环
- ②.while循环用于不确定次数的循环
循环嵌套(即多重循环,一个循环里面还有一个循环)
- eg:
object Base27 {
def main(args: Array[String]): Unit = {
var n=0
var k=1
for(i<-1 to 10){
for(j<-5 to 20){
for(k<-1 to 10) {
n+=1
}
println(n,k,i,j)
}
}
}
}
- eg:
object Base28 {
def main(args: Array[String]): Unit = {
for(i<-1 to 5){
for(j<-1 to i){
print(i)
}
println()
}
}
}
- eg:打印乘法口诀表
object Base29 {
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表示一个占位符,这里要填入一个整数,并且:一共四五,左对齐
- j:填入第一个 %d
- i: 填入第二个整数 %d
- i*j的结果:填入 %-4d
“百鸡百钱” 是中国古代数学家 张丘建 在《算经》中提出的问题,原文大意是:
公鸡 5 文钱一只,母鸡 3 文钱一只,小鸡 1 文钱三只。现在有 100 文钱,想买 100 只鸡。问:公鸡、母鸡、小鸡各买多少只?
object Base30 {
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)
}
}
}
}
}
}