1.完成了scala实验二的最后一题
统计学生成绩
学生的成绩清单格式如下所示,第一行为表头,各字段意思分别为学号、性别、课程名1、课程名 2 等,后面每一行代表一个学生的信息,各字段之间用空白符隔开
代码摘自网上,
package com.tiedao.project import scala.io.Source object Ex03 { def main(array: Array[String])={ val inputFile = Source.fromFile("F:\\data.txt") val originalData = inputFile.getLines.map(_.split("\\s+")).toList val courseName = originalData.head.drop(2) val students = originalData.tail val length = courseName.length // 求最大值,最小值,平均值 函数 def statistic (lines:List[Array[String]])={ (for (i<-2 to length+1)yield{ // 将每一个元素转化成double val temp = lines map{ elem=>elem(i).toDouble } //生成三元组 (temp.sum,temp.min,temp.max) })map{case(total,min,max)=>(total/lines.length,min,max)} } // 输出函数 def printResult(theresult:Seq[(Double,Double,Double)]): Unit ={ (courseName zip theresult)foreach{ case (name,result)=> println(f"${name+":"}%-10s${result._1}%5.2f${result._2}%8.2f${result._3}%8.2f") } } val allRestult = statistic(students) println("course average min max") printResult(allRestult) val (malestudent,femalestudent)=students partition{ _(1) == "male" } val maleRestult = statistic(malestudent) println("course average min max(male)") printResult(maleRestult) val femaleRestult = statistic(femalestudent) println("course average min max(female)") printResult(femaleRestult) } }
2完成实验三spark和hadoop的安装
浙公网安备 33010602011771号