048_多重循环应用案例
介绍
package com.atguigu.chapter04.mutlfor
/**
* ClassName: ${CLASS_NAME} <br/>
* Description: ${CLASS_NAME} <br/>
* Date: 2021-03-24 10:14 <br/>
* <br/>
*
* @author yufengming
* @email yufengming@travelsky.com
* @project scala
* @package com.atguigu.chapter04.mutlfor
* <p>
* 修改记录
*
*/
import scala.io.StdIn
object Exercise01 {
/*
应用实例:
1.统计三个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分[学生的成绩从键盘输入]。
分析思路
(1) classNum 表示 班级个数 , stuNum 表示学生个数
(2) classScore 表示各个班级总分 totalScore 表示所有班级总分
(3) score 表示各个学生成绩
(4) 使用循环的方式输入成绩
2.统计三个班及格人数,每个班有5名同学。
3.打印出九九乘法表
*/
def main(args: Array[String]): Unit = {
val classNum = 3
val stuNum = 5
var score = 0.0 //分数
var classScore = 0.0 //班级的总分
var totalScore = 0.0 //所有班级总分
for (i <- 1 to classNum) {
//先将 classScore 清0
classScore = 0.0
for (j <- 1 to stuNum) {
printf("请输入第%d班级的第%d个学生的成绩\n", i, j)
score = StdIn.readDouble()
classScore += score
}
//累计 totalScore
totalScore += classScore
printf("第%d班级的平均分为%.2f\n", i, classScore / stuNum)
}
printf("所有班级的平均分为%.2f", totalScore / (stuNum * classNum))
}
/*
* D:\jdk1.8.0_162\bin\java.exe -javaagent:D:\JetBrains\IntelliJ_IDEA_2020.2.1\lib\idea_rt
请输入第1班级的第1个学生的成绩
98
请输入第1班级的第2个学生的成绩
78
请输入第1班级的第3个学生的成绩
59
请输入第1班级的第4个学生的成绩
96
请输入第1班级的第5个学生的成绩
94
第1班级的平均分为85.00
请输入第2班级的第1个学生的成绩
* */
}
package com.atguigu.chapter04.mutlfor
import scala.io._
object Exercise02 {
def main(args: Array[String]): Unit = {
//2.统计三个班及格人数,每个班有5名同学。
val classNum = 3
val stuNum = 5
var score = 0.0 //分数
var classScore = 0.0 //班级的总分
var totalScore = 0.0 //所有班级总分
var passNum = 0 //统计及格人数
for (i <- 1 to classNum) {
//先将 classScore 清0
classScore = 0.0
for (j <- 1 to stuNum) {
printf("请输入第%d班级的第%d个学生的成绩\n", i, j)
score = StdIn.readDouble()
if (score >= 60) {
passNum += 1
}
classScore += score
}
//累计 totalScore
totalScore += classScore
printf("第%d班级的平均分为%.2f\n", i, classScore / stuNum)
}
printf("所有班级的平均分为%.2f", totalScore / (stuNum * classNum))
printf("所有班级的及格人数为%d", passNum)
}
}
package com.atguigu.chapter04.mutlfor
object Exercise03 {
def main(args: Array[String]): Unit = {
//3.打印出九九乘法表
//思路分析
//(1) 使用两层循环, 有9行, 每1行的列数在增加
//(2) 根据逻辑,我们可以编写代码
val num = 9
for (i <- 1 to num) { //确定行数
for (j <- 1 to i) {//确定列数
printf("%d * %d = %d\t" , j , i , i * j)
}
println()
}
}
}