今天写的是第三个实验:统计学生信息
没那么多就直接上代码
1 package com.ms.firstWork 2 3 import scala.collection.mutable.ArrayBuffer 4 5 class Student(id: Int, gender: String, math: Int, english: Int, physics: Int) { 6 var SiD = id 7 var Sgender = gender 8 var Smath = math 9 var Senglish = english 10 var Sphysics = physics 11 } 12 13 object thirdWork { 14 def main(args: Array[String]): Unit = { 15 var studentlist = new ArrayBuffer[Student]() 16 studentlist.append(new Student(301610, "male", 80, 64, 78)) 17 studentlist.append(new Student(301611, "female", 65, 87, 58)) 18 studentlist.append(new Student(301612, "female", 44, 71, 77)) 19 studentlist.append(new Student(301613, "female", 66, 71, 91)) 20 studentlist.append(new Student(301614, "female", 70, 71, 100)) 21 studentlist.append(new Student(301615, "male", 72, 77, 72)) 22 studentlist.append(new Student(301616, "female", 73, 81, 75)) 23 studentlist.append(new Student(301617, "female", 69, 77, 75)) 24 studentlist.append(new Student(301618, "male", 73, 61, 65)) 25 studentlist.append(new Student(301619, "male", 74, 69, 68)) 26 studentlist.append(new Student(301620, "male", 76, 62, 76)) 27 studentlist.append(new Student(301621, "male", 73, 69, 91)) 28 studentlist.append(new Student(301622, "male", 55, 69, 61)) 29 studentlist.append(new Student(301623, "male", 50, 58, 75)) 30 studentlist.append(new Student(301624, "female", 63, 83, 93)) 31 studentlist.append(new Student(301625, "male", 72, 54, 100)) 32 studentlist.append(new Student(301626, "male", 76, 66, 73)) 33 studentlist.append(new Student(301627, "male", 82, 87, 79)) 34 studentlist.append(new Student(301628, "female", 62, 80, 54)) 35 studentlist.append(new Student(301629, "male", 89, 77, 72)) 36 37 sortsum(studentlist) 38 } 39 def sortsum(list: ArrayBuffer[Student]): Unit = { 40 var count=0 41 var mathSum = 0 42 var mathAverage = 0 43 var mathMin = 100 44 var mathMax = 0 45 var englishSum = 0 46 var englishAverage = 0 47 var englishMin = 100 48 var englishMax = 0 49 var physicsSum = 0 50 var physicsAverage = 0 51 var physicsMin = 100 52 var physicsMax = 0 53 var femaleSrudent=new ArrayBuffer[Student]() 54 var maleSrudent=new ArrayBuffer[Student]() 55 list.foreach(student => { 56 count+=1 57 if(student.Sgender.equals("female")){ 58 femaleSrudent.append(student) 59 }else{ 60 maleSrudent.append(student) 61 } 62 if(student.Smath>mathMax){ 63 mathMax=student.Smath 64 }else if(student.Smath<mathMin){ 65 mathMin=student.Smath 66 } 67 if(student.Senglish>englishMax){ 68 englishMax=student.Senglish 69 }else if(student.Senglish<englishMin){ 70 englishMin=student.Senglish 71 } 72 if(student.Sphysics>physicsMax){ 73 physicsMax=student.Sphysics 74 }else if(student.Sphysics<physicsMin){ 75 physicsMin=student.Sphysics 76 } 77 mathSum+=student.Smath 78 englishSum+=student.Senglish 79 physicsSum+=student.Sphysics 80 }) 81 mathAverage=mathSum/count 82 englishAverage=englishSum/count 83 physicsAverage=physicsSum/count 84 println("course average min max") 85 println("Math: "+mathAverage+" "+mathMin+" "+mathMax) 86 println("English: "+englishAverage+" "+englishMin+" "+englishMax) 87 println("Physics: "+physicsAverage+" "+physicsMin+" "+physicsMax) 88 sortmale(maleSrudent) 89 sortfemale(femaleSrudent) 90 } 91 def sortmale(list: ArrayBuffer[Student]): Unit = { 92 var count=0 93 var mathSum = 0 94 var mathAverage = 0 95 var mathMin = 100 96 var mathMax = 0 97 var englishSum = 0 98 var englishAverage = 0 99 var englishMin = 100 100 var englishMax = 0 101 var physicsSum = 0 102 var physicsAverage = 0 103 var physicsMin = 100 104 var physicsMax = 0 105 list.foreach(student => { 106 count+=1 107 if(student.Smath>mathMax){ 108 mathMax=student.Smath 109 }else if(student.Smath<mathMin){ 110 mathMin=student.Smath 111 } 112 if(student.Senglish>englishMax){ 113 englishMax=student.Senglish 114 }else if(student.Senglish<englishMin){ 115 englishMin=student.Senglish 116 } 117 if(student.Sphysics>physicsMax){ 118 physicsMax=student.Sphysics 119 }else if(student.Sphysics<physicsMin){ 120 physicsMin=student.Sphysics 121 } 122 mathSum+=student.Smath 123 englishSum+=student.Senglish 124 physicsSum+=student.Sphysics 125 }) 126 mathAverage=mathSum/count 127 englishAverage=englishSum/count 128 physicsAverage=physicsSum/count 129 println("course average min max(males)") 130 println("Math: "+mathAverage+" "+mathMin+" "+mathMax) 131 println("English: "+englishAverage+" "+englishMin+" "+englishMax) 132 println("Physics: "+physicsAverage+" "+physicsMin+" "+physicsMax) 133 } 134 def sortfemale(list:ArrayBuffer[Student]): Unit = { 135 var count=0 136 var mathSum = 0 137 var mathAverage = 0 138 var mathMin = 100 139 var mathMax = 0 140 var englishSum = 0 141 var englishAverage = 0 142 var englishMin = 100 143 var englishMax = 0 144 var physicsSum = 0 145 var physicsAverage = 0 146 var physicsMin = 100 147 var physicsMax = 0 148 list.foreach(student => { 149 count+=1 150 if(student.Smath>mathMax){ 151 mathMax=student.Smath 152 }else if(student.Smath<mathMin){ 153 mathMin=student.Smath 154 } 155 if(student.Senglish>englishMax){ 156 englishMax=student.Senglish 157 }else if(student.Senglish<englishMin){ 158 englishMin=student.Senglish 159 } 160 if(student.Sphysics>physicsMax){ 161 physicsMax=student.Sphysics 162 }else if(student.Sphysics<physicsMin){ 163 physicsMin=student.Sphysics 164 } 165 mathSum+=student.Smath 166 englishSum+=student.Senglish 167 physicsSum+=student.Sphysics 168 }) 169 mathAverage=mathSum/count 170 englishAverage=englishSum/count 171 physicsAverage=physicsSum/count 172 println("course average min max(females)") 173 println("Math: "+mathAverage+" "+mathMin+" "+mathMax) 174 println("English: "+englishAverage+" "+englishMin+" "+englishMax) 175 println("Physics: "+physicsAverage+" "+physicsMin+" "+physicsMax) 176 } 177 }
运行截图: