任务分析
-
把文字内容从.txt文件中读到内存中。
-
写程序分析数据。
-
把结果写入.txt文件。
文件:
姓名,语文,英语,数学
喜羊羊,90,98,100
美羊羊,100,99,93
懒羊羊,20,40,50
沸羊羊,90,10,2
暖羊羊,30,40,20
代码:
package score
import java.io.FileWriter
object score01 {
case class Stu(name:String, yuwen:Double, shuxue:Double,yingyu:Double)
def main(args: Array[String]): Unit = {
// 0. 创建一个可变list
val stulist = scala.collection.mutable.ListBuffer[Stu]()
// 1. 读入文件 迭代器
val lines = scala.io.Source.fromFile("score.txt").getLines()
lines.next() // 跳过第一行
while(lines.hasNext){
val line = lines.next()
// 字符串拆分
val li = line.split(",")
stulist += Stu(li(0), li(1).toDouble, li(2).toDouble, li(3).toDouble)
}
// 读入数据结果
println("读入数据结束")
println("计算结束,开始写入")
val fileWriter = new FileWriter("score_result.txt")
fileWriter.write("高三19班成绩单 \n");
stulist.foreach(stu => {
val total = stu.yuwen + stu.yingyu + stu.shuxue
val avg = total / 3
fileWriter.write(s"${stu.name}, 总分: ${total}, 平均分: ${avg}\n")
})
fileWriter.close()
}
}