编辑代码

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)"
}