首页 > 其他分享 >用迭代器读取成绩

用迭代器读取成绩

时间:2024-11-30 13:34:41浏览次数:6  
标签:arr 成绩 读取 迭代 toInt list shuxue val total

1.迭代器,跳过第一个元素
2.把字符串转成数字
3.如何判断一个正整数是否可以被三整除?(1+2+3)% 3==0
1.读入成绩,按行去读取-跳过第一个元素
    val list=ListBuffer[Student]()
    val it =Source.fromFile("score.txt").getLines().drop(1)
读入成绩-按行去读取
    while(it.hasNext){
      val content=it.next()
      var arr=content.split(",")
      val name=arr(0)
      val yuwen =arr(1).toInt
      val shuxue =arr(2).toInt
      val yingyu =arr(3).toInt
      val total =yuwen+shuxue+yingyu
      val avg = total / 3
数学平均分
println("数学平均分",shuxuezongfen/list.length)
根据总分进行排序
val orderList = list.sortWith((a,b)=>a.total>b.total)

 总代码

//1.迭代器,跳过第一个元素
//2.把字符串转成数字
//3.如何判断一个正整数是否可以被三整除?(1+2+3)% 3==0


import scala.collection.mutable.ListBuffer
import scala.io.Source
case class Student(name:String,yuwen:Int,shuxue:Int,total:Int,avg:Int)
object test {
  def main(args: Array[String]): Unit = {
    var shuxuezongfen=0
    //1.读入成绩,按行去读取-跳过第一个元素
    val list=ListBuffer[Student]()
    val it =Source.fromFile("score.txt").getLines().drop(1)
    //1.读入成绩-按行去读取
    while(it.hasNext){
      val content=it.next()
      //
      var arr=content.split(",")
      val name=arr(0)
      val yuwen =arr(1).toInt
      val shuxue =arr(2).toInt
      val yingyu =arr(3).toInt
      val total =yuwen+shuxue+yingyu
      val avg = total / 3
shuxuezongfen+=shuxue

      list +=Student(name, yuwen, shuxue, total, avg)
    }
    //数学平均分
    println("数学平均分",shuxuezongfen/list.length)
    //根据总分进行排序
    val orderList = list.sortWith((a,b)=>a.total>b.total)
    //打印结果
    orderList.foreach(s=>println(s"姓名:${s.name},总分:${s.total}"))
    //根据数学进行排序
    list.sortWith((a,b)=>a.shuxue>b.shuxue)
      .foreach(s=>println(s"姓名:${s.name},数学:${s.shuxue},总分:${s.total}"))
  }
}

 

标签:arr,成绩,读取,迭代,toInt,list,shuxue,val,total
From: https://blog.csdn.net/2301_82118291/article/details/144087477

相关文章

  • 一文搞懂Python迭代器(通俗易懂)
    一文搞懂Python迭代器(通俗易懂)python迭代器是一个相对难以理解的概念,Up在初次接触时也觉得晦涩。本文尽可能用通俗易懂的语言和例子,解释清楚python迭代器。注:本文长期有效,持续迭代完善,建议收藏。提前划重点两个概念:迭代器对象和可迭代对象例子:代码实现迭代器对象和可......
  • 【纯干货分享】计算机毕业设计必看必学36113+PHP 高校成绩管理系统原创的定制程序,单
     高校成绩管理系统的设计与实现摘 要随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用PHP技术建设高校成绩管理系统。本设计主要实现集人性化、高效......
  • Z2400038 Java+Mysql+ssm+layui+freemarker的学生成绩管理系统的设计与实现(源代码 PPT
    学生成绩管理系统1.项目描述2.运行环境3.项目技术4.界面展示5.源码获取1.项目描述SSM+Layui+Freemarker学生成绩管理系统项目概述本项目旨在开发一个基于SSM(Spring+SpringMVC+MyBatis)框架的学生成绩管理系统,结合了Layui前端框架和Freemarker模板引擎,为用......
  • windows C#-迭代器(上)
    迭代器可用于逐步迭代集合,例如列表和数组。迭代器方法或get访问器可对集合执行自定义迭代。迭代器方法使用yieldreturn语句返回元素,每次返回一个。到达yieldreturn语句时,会记住当前在代码中的位置。下次调用迭代器函数时,将从该位置重新开始执行。通过foreach语......
  • 软件设计:实验18:迭代器模式
    实验18:迭代器模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解迭代器模式的动机,掌握该模式的结构;2、能够利用迭代器模式解决实际问题。 [实验任务一]:JAVA和C++常见数据结构迭代器的使用信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA......
  • 【QT】使用Qxlsx读取Excel单元格中函数表达式的结果值
    【QT】使用Qxlsx读取Excel单元格中函数表达式的结果值零、起因是这样的,目前朋友托我写一款模板生成软件,任务是先把他写的程序文件复制一份出来,然后再根据Excel中对应位置的单元格的值,修改程序文件副本中的某些文件。对于读Excel的需求,经过测试,最终选择Qxlsx这款开源QT组件来读取......
  • 代码随想录算法训练营第十四天(统一迭代;LeetCode226.翻转二叉树;LeetCode101.对称二叉树
    统一迭代LeetCode144.二叉树的前序遍历题目链接:二叉树的前序遍历题目链接代码/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intval)......
  • 用Scala来解决成绩排名的相关问题
    任务目标:1.计算每个同学的总分和平均分2.按总分排名,取前三名3.按单科排名,取前三名下图为学生的成绩表实现代码为:packagetest33importjava.io.PrintWriterimportscala.collection.mutable.ListBufferimportscala.io.SourcecaseclassStudent(name:String,yuwe......
  • 05-01-03-拓展 神奇的迭代(根号2的迭代)
    任务描述有一个神奇的迭代公式:xn+1​=xn​+2​,无论x的初值(大于2的正数)选的多么大,若干次迭代之后,x都与2无限接近,也就是说x序列的极限是2。假设x0​=99999999.0(8个9),编程输入一个正整数n,输出xn​的值(保留10位小数)。输入样例:8输出样例:x[8]=2.0051798692输入样例:16......
  • NR 5G SIB1读取失败应该怎么办?
    如上图UESIB1readfail导致UE无法获取cell的campinfo,进而将对应cellbar300s,也有bar30s的设定。这里的根据在38.331和38.304中。如果UE不能获取MIB,根据38.304的描述,UE可能会将对应freq/pci对应的小区最多bar300s,期间不能进行小区选择和小区重选过程,UE可以选择满......