import scala.collection.mutable.ArrayBuffer
object Main {
def main(args: Array[String]): Unit = {
var students:ArrayBuffer[Student] = new ArrayBuffer[Student]()
students.append(new Student(301610, "male", 80, 64, 78))
students.append(new Student(301611, "female", 65, 87, 58))
students.append(new Student(301612, "female", 44, 71, 77))
students.append(new Student(301613, "female", 66, 71, 91))
students.append(new Student(301614, "female", 70, 71, 100))
students.append(new Student(301615, "male", 72, 77, 72))
students.append(new Student(301616, "female", 73, 81, 75))
students.append(new Student(301617, "female", 69, 77, 75))
students.append(new Student(301618, "male", 73, 61, 65))
students.append(new Student(301619, "male", 74, 69, 68))
students.append(new Student(301620, "male", 76, 62, 76))
students.append(new Student(301621, "male", 73, 69, 91))
students.append(new Student(301622, "male", 55, 69, 61))
students.append(new Student(301623, "male", 50, 58, 75))
students.append(new Student(301624, "female", 63, 83, 93))
students.append(new Student(301625, "male", 72, 54, 100))
students.append(new Student(301626, "male", 76, 66, 73))
students.append(new Student(301627, "male", 82, 87, 79))
students.append(new Student(301628, "female", 62, 80, 54))
students.append(new Student(301629, "male", 89, 77, 72))
getData(students)
getDataMale(students)
getDataFeMale(students)
}
def getData(value: ArrayBuffer[Student]): Unit ={
var Mathaverage:Double=0
var MathSum:Double = 0
var MathMin:Double = value(0).Math
var MathMax:Double = 0
var Englishaverage:Double=0
var EnglishSum:Double = 0
var EnglishMin:Double = value(0).English
var EnglishMax:Double = 0
var Physicsaverage:Double=0
var PhysicsSum:Double = 0
var PhysicsMin:Double = value(0).Physics
var PhysicsMax:Double = 0
var number = value.length
for (i <- 0 until value.length){
MathSum = value(i).Math+MathSum
EnglishSum = value(i).English+EnglishSum
PhysicsSum = value(i).Physics+PhysicsSum
if(value(i).Math>MathMax){
MathMax=value(i).Math
}
if(value(i).English>EnglishMax){
EnglishMax=value(i).English
}
if(value(i).Physics>PhysicsMax){
PhysicsMax=value(i).Physics
}
if(value(i).Math<MathMin){
MathMin=value(i).Math
}
if(value(i).English<EnglishMin){
EnglishMin=value(i).English
}
if(value(i).Physics<PhysicsMin){
PhysicsMin=value(i).Physics
}
}
Mathaverage=MathSum/number
Englishaverage=EnglishSum/number
Physicsaverage=PhysicsSum/number
println("课程名\t\t平均分\t\t最低分\t\t最高分")
println("数学:\t\t"+Mathaverage+"\t\t"+MathMin+"\t\t"+MathMax)
println("英语:\t\t"+Englishaverage+"\t\t"+EnglishMin+"\t\t"+EnglishMax)
println("物理:\t\t"+Physicsaverage+"\t\t"+PhysicsMin+"\t\t"+PhysicsMax)
println("-------------------------------------------------------------")
}
def getDataMale(value: ArrayBuffer[Student]): Unit = {
var Mathaverage: Double = 0
var MathSum: Double = 0
var MathMin: Double = value(0).Math
var MathMax: Double = 0
var Englishaverage: Double = 0
var EnglishSum: Double = 0
var EnglishMin: Double = value(0).English
var EnglishMax: Double = 0
var Physicsaverage: Double = 0
var PhysicsSum: Double = 0
var PhysicsMin: Double = value(0).Physics
var PhysicsMax: Double = 0
var number = 0;
for (i <- 0 until value.length) {
if (value(i).gender.equals("male")) {
number = number + 1
MathSum = value(i).Math + MathSum
EnglishSum = value(i).English + EnglishSum
PhysicsSum = value(i).Physics + PhysicsSum
if (value(i).Math > MathMax) {
MathMax = value(i).Math
}
if (value(i).English > EnglishMax) {
EnglishMax = value(i).English
}
if (value(i).Physics > PhysicsMax) {
PhysicsMax = value(i).Physics
}
if (value(i).Math < MathMin) {
MathMin = value(i).Math
}
if (value(i).English < EnglishMin) {
EnglishMin = value(i).English
}
if (value(i).Physics < PhysicsMin) {
PhysicsMin = value(i).Physics
}
}
}
Mathaverage=MathSum/number
Englishaverage=EnglishSum/number
Physicsaverage=PhysicsSum/number
println("课程名\t\t平均分\t\t最低分\t\t最高分 (男生)")
Mathaverage=Mathaverage.toInt
Englishaverage=Englishaverage.toInt
Physicsaverage=Physicsaverage.toInt
println("数学:\t\t"+Mathaverage+"\t\t"+MathMin+"\t\t"+MathMax)
println("英语:\t\t"+Englishaverage+"\t\t"+EnglishMin+"\t\t"+EnglishMax)
println("物理:\t\t"+Physicsaverage+"\t\t"+PhysicsMin+"\t\t"+PhysicsMax)
println("-------------------------------------------------------------")
}
def getDataFeMale(value: ArrayBuffer[Student]): Unit ={
var Mathaverage:Double=0
var MathSum:Double = 0
var MathMin:Double = value(1).Math
var MathMax:Double = 0
var Englishaverage:Double=0
var EnglishSum:Double = 0
var EnglishMin:Double = value(1).English;
var EnglishMax:Double = 0
var Physicsaverage:Double=0
var PhysicsSum:Double = 0
var PhysicsMin:Double = value(1).Physics
var PhysicsMax:Double = 0
var number = 0
for (i <- 0 until value.length){
if(value(i).gender.equals("female")){
number=number+1
MathSum = value(i).Math+MathSum
EnglishSum = value(i).English+EnglishSum
PhysicsSum = value(i).Physics+PhysicsSum
if(value(i).Math>MathMax){
MathMax=value(i).Math
}
if(value(i).English>EnglishMax){
EnglishMax=value(i).English
}
if(value(i).Physics>PhysicsMax){
PhysicsMax=value(i).Physics
}
if(value(i).Math<MathMin){
MathMin=value(i).Math
}
if(value(i).English<EnglishMin){
EnglishMin=value(i).English
}
if(value(i).Physics<PhysicsMin){
PhysicsMin=value(i).Physics
}
}
}
Mathaverage=MathSum/number
Englishaverage=EnglishSum/number
Physicsaverage=PhysicsSum/number
println("课程名\t\t平均分\t\t最低分\t\t最高分 (女生)")
Mathaverage=Mathaverage.toInt
Englishaverage=Englishaverage.toInt
Physicsaverage=Physicsaverage.toInt
println("数学:\t\t"+Mathaverage+"\t\t"+MathMin+"\t\t"+MathMax)
println("英语:\t\t"+Englishaverage+"\t\t"+EnglishMin+"\t\t"+EnglishMax)
println("物理:\t\t"+Physicsaverage+"\t\t"+PhysicsMin+"\t\t"+PhysicsMax)
}
}
case class Student(id1:Int,gender1:String,Math1:Double,English1:Double,Physics1:Double){
var id:Int = id1
var gender:String = gender1
var Math:Double = Math1
var English:Double = English1
var Physics:Double = Physics1
override def toString = s"Student($id, $gender, $Math, $English, $Physics)"
}