Scala习题
姓名,语文,数学,英语
张伟,87,92,88
李娜,90,85,95
王强,78,90,82
赵敏,92,88,91
孙涛,85,82,89
周梅,88,87,93
吴刚,80,85,86
郑洁,91,89,94
陈晨,83,84,88
林峰,86,91,87
1.读入文件
2.计算总成绩,并排列前三名
3.对各科成绩进行排序,并排列出前三名
最后的结果写到一个新文件
package test5import java.io.PrintWriter
import scala.collection.mutable.ListBuffer
import scala.io.Source
case class Student(name:String,yuwen:Int,shuxue:Int,yingyu:Int,zongfen:Int,pingjunfen:Int,var mingci:Int)object test {def main(args: Array[String]): Unit = {//0.准备一个空的listval list = ListBuffer[Student]()//1.读入文件--按行读取//drop(1)让迭代器跳过一个元素,因为第一行是开头,把第一行跳过去val it = Source.fromFile("score.txt").getLines().drop(1)//跳过一个元素while (it.hasNext){
// val content = it.next()
// println(content)val arr = it.next().split(",")
// println("姓名",arr(0))
// println("语文",arr(1).toInt)
// println("数学",arr(2).toInt)
// println("英语",arr(3).toInt)val total = arr(1).toInt+arr(2).toInt+arr(3).toInt
// println("总分",total)
// println("平均分",total/3)//3.添加学生到listlist += Student(arr(0),arr(1).toInt,arr(2).toInt,arr(3).toInt,total,total/3,0)}val orderedList = list.sortWith((a,b)=>a.zongfen>b.zongfen)var mingci = 1;var curScore = -1;orderedList.foreach(s=>{if(s.zongfen != curScore){mingci += 1s.mingci = mingcicurScore = s.zongfen}else{s.mingci = mingci}})
// list.foreach(println)//4.排名
// 根据总分排名,取前三val li1 = list.sortWith((a,b)=>a.zongfen>b.zongfen).slice(0,3)li1.foreach(println)println("--------------------")//按语文排名取前三val li2 = list.sortWith((a,b)=>a.yuwen>b.yuwen).slice(0,3)li2.foreach(println)println("-----------------")
//按数学排名取前三val li3 = list.sortWith((a,b)=>a.shuxue>b.shuxue).slice(0,3)li3.foreach(println)println("---------------")//按英语排名取前三val li4 = list.sortWith((a,b)=>a.yingyu>b.yingyu).slice(0,3)li4.foreach(println)//5.写入val write = new PrintWriter("排名之后的结果.txt")list.foreach(s=>{write.println(s"姓名${s.name},语文${s.yingyu},数学${s.shuxue},英语${s.yingyu},总分${s.zongfen},平均分${s.pingjunfen}")})write.println("-"*40)li1.foreach(s=>{write.println(s"姓名${s.name},总分${s.zongfen}")})write.println("-"*40+"语文前三名")li2.foreach(s=>{write.println(s"姓名:${s.name},语文${s.yuwen},总分${s.zongfen}")})write.close()//结束输出}}
完成之后目录之下会有新的文件
相关文章:
Scala习题
姓名,语文,数学,英语 张伟,87,92,88 李娜,90,85,95 王强,78,90,82 赵敏,92,88,91 孙涛,…...
VSCode 使用教程:项目使用配置、使用哪些插件、Live Server使用问题及解决方案(你想要的,都在这里)
VSCode的配置: Ⅰ、VSCode 可能需要的项目配置:1、项目颜色主题的切换:其一、点击设置 -> 选择主题 -> 选择颜色主题:其二、通过上下键操作,选择想要的主题: 2、项目文件图标主题的切换:其…...
RPA:电商订单处理自动化
哈喽,大家好,我是若木,最近闲暇时间较多,于是便跟着教程做了一个及RPA,谈到这个,可能很多人并不是很了解,但是实际上,这玩意却遍布文末生活的边边角角。话不多说,我直接上…...
分布式协同 - 分布式锁一二事儿
文章目录 导图Pre概述概述1. 分布式互斥和临界资源的协调2. 分布式锁的基本原理3. 分布式锁的实现方式a. 基于数据库实现的分布式锁b. 基于Redis实现的分布式锁c. 基于Zookeeper实现的分布式锁 4. 高并发场景下的分布式锁优化a. 分段锁(Sharded Locks)b.…...
React Native学习笔记(三)
一 组件简介 1.1 简介 RN中的核心组件,是对原生组件的封装 原生组件:Android或ios内的组件核心组件:RN中常用的,来自react-native的组件 原生组件 在 Android 开发中是使用 Kotlin 或 Java 来编写视图;在 iOS 开发…...
什么是B+Tree?
BTree是B-Tree的一种变体,它在数据库索引和文件系统中被广泛使用,因为它优化了磁盘I/O操作,并且对于范围查询非常高效。 以下是BTree的详细全面解释: 基本概念 节点(Node):BTree由节点组成&…...
LeetCode 热题100(十一)【二分查找】(2)
11.4搜索旋转排序数组(中等) 题目描述:leetcode链接 33. 搜索旋转排序数组 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length&…...
《Python基础》之OS模块
目录 前言 各种文件操作方法 1、os.path.exists() 2、os.path.join() 3、os.path.abspath(__file__) 4、os.path.dirname() 5、os.path.isfile() 6、os.path.isdir() 7、os.mkdir() 8、os.remove() 9、os.rmdir() 前言 本文主要介绍使用os模块中的功能操作文件或者文…...
esp32触发相机
esp32触发相机,测试成功上升沿触发 串口发送命令 up 20000 1 20000 触发 #include <Arduino.h>const int outputPin 12; // 输出引脚 String inputCommand ""; // 串口输入缓冲区// 解析命令参数,例如 "up 10 5" 解析为…...
AWS EC2设置用户名密码登录
使用AWS EC2 设置用户名密码登录 步骤 1: 访问控制台 登录到AWS管理控制台。导航至 EC2 Dashboard。在左侧导航栏中选择 Instances。选择需要配置的实例。使用 EC2 Instance Connect 访问实例控制台。 步骤 2: 切换到 root 用户 打开终端或命令行工具,通过SSH连…...
Mac配置和启动 Tomcat
Tomcat 配置与启动: 配置 Tomcat: homebrew install tomcat 启动 Tomcat: 如果cd ~/tomcat/bin文件夹存在startup.sh文件,可以直接在终端运行:./startup.sh 如果~/bin目录下,只有catalina文件。则在终端运行…...
基于深度学习的手势识别算法
基于深度学习的手势识别算法 概述算法原理核心逻辑效果演示使用方式参考文献 概述 本文基于论文 [Simple Baselines for Human Pose Estimation and Tracking[1]](ECCV 2018 Open Access Repository (thecvf.com)) 实现手部姿态估计。 手部姿态估计是从图像或视频帧集中找到手…...
ffmpeg RTP PS推流
要实现 CRtpSendPs 类,使其能够将 H264 数据通过 RTP PS 流推送到指定的 URL,并支持 TCP 和 UDP 传输方式,您需要使用 FFmpeg 库。以下是该类的实现示例,包括必要的初始化、推流和退出函数。 步骤 初始化 FFmpeg 库:…...
uniapp开发支付宝小程序自定义tabbar样式异常
解决方案: 这个问题应该是支付宝基础库的问题,除了依赖于官方更新之外,开发者可以利用《自定义 tabBar》曲线救国 也就是创建一个空内容的自定义tabBar,这样即使 tabBar 被渲染出来,但从视觉上也不会有问题 1.官方文…...
YOLOv8实战无人机视角目标检测
本文采用YOLOv8作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv8以其高效的实时检测能力,在多个目标检测任务中展现出卓越性能。本研究针对无人机目标数据集进行训练和优化,该数据集包含丰富的无人机目标图像…...
RNN详解及其实现
目录 概述为什么需要 RNN?RNN 理解及其简单实现RNN 完成文本分类任务RNN 存在的问题 概述 提及 RNN,绝大部分人都知道他是一个用于序列任务的神经网络,会提及他保存了时序信息,但是,为什么需要考虑时序的信息…...
SpringBoot开发——详细讲解 Spring Boot 项目中的 POM 配置
文章目录 一、POM 文件简介二、单模块项目的 POM 配置1. 创建基本的 Spring Boot 单模块项目2. 重点解析三、多模块项目的 POM 配置1. 多模块项目结构2. 父模块 POM 文件3. 子模块 POM 文件4. 重点解析结语在 Spring Boot 项目中,POM(Project Object Model)文件起着关键作用…...
数据仓库: 8- 数据仓库性能优化
CSDN 目录展示 目录 8- 数据仓库性能优化8.1 查询优化8.1.1 索引优化8.1.2 分区和分桶8.1.3 使用缓存8.1.4 查询简化与重写8.1.5 聚合优化8.1.6 并行化和分布式计算8.1.7 基于列存储的优化8.1.8 表的分区和数据清洗8.1.9 查询提示 (Hints)8.1.10 自动调优工具 8.2 索引设计8.2…...
如何使用GCC手动编译stm32程序
如何不使用任何IDE(集成开发环境)编译stm32程序? 集成开发环境将编辑器、编译器、链接器、调试器等开发工具集成在一个统一的软件中,使得开发人员可以更加简单、高效地完成软件开发过程。如果我们不使用KEIL,IAR等集成开发环境,…...
2023年MathorCup高校数学建模挑战赛—大数据竞赛B题电商零售商家需求预测及库存优化问题求解全过程文档及程序
2023年MathorCup高校数学建模挑战赛—大数据竞赛 B题 电商零售商家需求预测及库存优化问题 原题再现: 电商平台存在着上千个商家,他们会将商品货物放在电商配套的仓库,电商平台会对这些货物进行统一管理。通过科学的管理手段和智能决策&…...
不可分割的整体—系统思考的微妙法则
不可分割的整体——系统思考的微妙法则 作为企业领导者,我们经常需要做出决策,但有时候,我们会忽略一个事实:每个决策都不是孤立的,它背后都是一个复杂系统的一部分。 无论是市场动态、团队协作,还是产品…...
使用Grafana K6来测测你的系统负载能力
背景 近期我们有个号称会有很高很高并发的系统要上线,为了测试一下自己开发的系统的负载能力,准备了点海克斯科技,来看看抗不抗的住。 之前笔者写过用Apache JMeter进行压力测试的文章(传送门👉:https://…...
ENSP IPV6-over-IPV4
IPv6是网络层协议的第二代标准协议,一个IPv6地址同样可以分为网络前缀和主机ID两个部分。 可以将IPV4的网络看成IPV6的承载网,只有IPv4网络是连通的,则IPv6网络才有可能连通。所以配置的时候需要先配置IPv4网络的路由功能,再配IP…...
FLASH分区---FAT分区添加操作
1、板卡配置 注意:使用fat文件系统的时候,必须download进去一个fat系统的镜像 fat.img 0xee0000 注意:需要打开fat宏定义(涉及到底层,必须开,否则无法创建文件) 2、板卡.c 配置 修改分区大小、增…...
javax.xml.ws.soap.SOAPFaultException: ZONE_OFFSET
javax.xml.ws.soap.SOAPFaultException 表示 SOAP 调用过程中发生了错误,并且服务端返回了一个 SOAP Fault。 错误信息中提到的 ZONE_OFFSET 可能指的是时区偏移量。在日期和时间处理中,时区偏移量是指格林威治标准时间 (GMT) 的偏移量。如果服务期望特…...
针对解决conda环境BUG的个人笔记
1-conda学习&安装 安装视频: 零基础教程:基于Anaconda和PyCharm配置Pytorch环境_哔哩哔哩_bilibili 安装过程: MX250笔记本安装Pytorch、CUDA和cuDNN-CSDN博客 Win10MX250CUDA10.1cuDNNPytorch1.4安装测试全过程(吐血)_nvidia geforc…...
代理IP与百度在信息时代的交互
目录 一、代理IP的基本概念和工作原理 二、代理IP在百度搜索中的多重作用 解决网络延时问题,提高搜索速度 提高网络安全 隐藏用户的真实IP地址,保护个人隐私 突破访问限制,拓宽网络视野 三、代理IP在百度关键词排名优化中的应用 模拟…...
10、PyTorch autograd使用教程
文章目录 1. 相关思考2. 矩阵求导3. 两种方法求jacobian 1. 相关思考 2. 矩阵求导 假设我们有如下向量: y 1 3 x 1 5 [ w T ] 5 3 b 1 3 \begin{equation} y_{1\times3}x_{1\times5}[w^T]_{5\times3}b_{1\times3} \end{equation} y13x15[wT]53b13…...
Flink随笔 20241129 流数据处理:以生产线烤鸡为例理解 Flink
流数据(streaming data)就像是一条永不停歇的生产线,源源不断地向前推进,带来新的数据。而 Apache Flink 就是这条生产线的核心,它负责对数据进行处理、分类、聚合和存储。为了更好地理解 Flink 的流处理,我…...
Web day02 Js Vue Ajax
目录 1.javascript: 1.js的引入方式: 2.js变量 & 数据类型 & 输出语句: 模板字符串: 3.函数 & 自定义对象: 4. json 字符串 & DOM操作: 5. js事件监听: 6.js的模块化导入或者导出&a…...
Vue的生命周期
Vue.js 的生命周期是指一个 Vue 实例从创建到销毁的整个过程。在这个过程中,Vue 会提供一系列的钩子函数(也称为生命周期钩子),开发者可以在这些钩子中执行特定的操作。理解 Vue 的生命周期对于编写高效、可维护的 Vue 应用至关重…...
【LeetCode热题100】优先级队列
这盘博客记录了关于优先级队列的几道题,包括最后一块石头的重量、数据流中的第K大元素、前K个高频单词、数据流的中位数。 class Solution { public:int lastStoneWeight(vector<int>& stones) {priority_queue<int> heap;for(auto s : stones) hea…...
用go语言写一个小服务
文章目录 简介重新想到go 小服务main.go部署测试 结束语 简介 golang的优势 响应速度: Go > Java > Python 内存占用: Go < Java < Python 从java转go,然后go又转java,感觉就是go虽然在编译、内存占用都强于java&am…...
shell编程练习巩固
一、用shell写出一个简单的计算器。 其实用shell写个简单的计算器还是很简单,我们不用构建那么复杂的计算功能,只需要复现出简单的加减乘除取余即可。 既然是计算器就要明确一下思路: 用户可以输入一个数字根据数字选择加、减、乘、除、取…...
pytest+allure生成报告显示loading和404
pytestallure执行测试脚本后,通常会在电脑的磁盘上建立一个临时文件夹,里面存放allure测试报告,但是这个测试报告index.html文件单独去打开,却显示loading和404, 这个时候就要用一些办法来解决这个报告显示的问题了。 用命令产生…...
从数据孤岛到数据协同:企业如何构建安全的数据共享生态?
聚焦数据协作与隐私保护技术,探索企业如何在共享中保持安全性。 导读 在数字经济时代,数据已成为企业最宝贵的战略资源。然而,传统的"数据孤岛"模式正阻碍企业价值创新。本文将深度解析如何突破数据壁垒,构建安全高效的…...
数据采集中,除了IP池的IP被封,还有哪些常见问题?
在数据采集的过程中,代理IP池的使用无疑为我们打开了一扇通往信息宝库的大门。然而,除了IP被封禁这一常见问题外,还有许多其他问题可能影响数据采集的效果。本文将探讨在数据采集中,除了IP被封之外,还可能遇到的一些常…...
数据结构--数组
目录 1 定义 1.1 数组内存结构 1.2二维数组 2 练习 2.1 将数组内两个区间内有序元素合并 2.2 leetcode88. 合并两个有序数组 3 缓存与局部性原理 1 定义 1.1 数组内存结构 1 2 3 5 6 给数组添加元素时,应将原来添加位置的元素和之后的元素进行复制 System…...
基础入门-Web应用架构搭建域名源码站库分离MVC模型解析受限对应路径
知识点: 1、基础入门-Web应用-域名上的技术要点 2、基础入门-Web应用-源码上的技术要点 3、基础入门-Web应用-数据上的技术要点 4、基础入门-Web应用-解析上的技术要点 5、基础入门-Web应用-平台上的技术要点 一、演示案例-域名差异-主站&分站&端口站&…...
屏幕触控支持指纹
一、前端navigator.maxTouchPoints获取屏幕是否支持触控。 二、navigator.maxTouchPoints c接口修改。 1、third_party\blink\renderer\core\events\navigator_events.idl // https://w3c.github.io/pointerevents/#extensions-to-the-navigator-interface[ImplementedAsNavi…...
大米中的虫子检测-检测储藏的大米中是否有虫子 支持YOLO,VOC,COCO格式标注,4070张图片的数据集
大米中的虫子检测-检测储藏的大米中是否有虫子 支持YOLO,VOC,COCO格式标注,4070张图片的数据集 数据集分割 4070总图像数 训练组 87% 3551图片 有效集 9% 362图片 测试集 4% 157图片 预处理 自动定向…...
力扣第 74 题是 搜索二维矩阵
题目描述 给定一个 m x n 的矩阵 matrix 和一个目标值 target,请你编写一个函数来判断目标值 target 是否在矩阵中。 每行的元素按升序排列。每列的元素按升序排列。 示例 1 输入: matrix [[1, 4, 7, 11],[2, 5, 8, 12],[3, 6, 9, 16],[10, 13, 14…...
JavaScript实用工具lodash库
Lodash中文文档: Lodash 简介 | Lodash中文文档 | Lodash中文网 Lodash是一个功能强大、易于使用的JavaScript实用工具库,它提供了丰富的函数和工具,能够方便地处理集合、字符串、数值、函数等多种数据类型。通过使用Lodash,开发者可以大幅…...
MySQL之JDBC
我们在学习完了数据库的基本操作后,希望和我们的Java程序建立连接,那么我们今天就来一探究竟JDBC是如何让Java程序与数据库建立连接的 1. 什么是JDBC JDBC(Java Data Base Connectivity, Java数据库连接) 是Java程序和数据库之间…...
家校通小程序实战教程04教师管理
目录 1 创建数据源2 搭建管理后台3 搭建查询条件4 功能测试总结 我们上一篇介绍了如何将学生加入班级,学生加入之后就需要教师加入了。教师分为任课老师和班主任,班主任相当于一个班级的管理员,日常可以发布各种任务,发布接龙&…...
vitess使用记录:vtctldclient,设置分表规则
继续探索未完成的事情。 vitess使用记录系列已经写了好几篇了,记录了在测试过程中遇到的各种问题。《vitess使用:从部署到go客户端连接查询》、《vitess使用记录:vtctldclient》、《vitess使用:基于源码运行vtctldclient工具》整…...
Windows利用conda安装gpu版本Faiss + Ubuntu源码安装Faiss-gpu 记录(待更新~)
前言 由于在cpu上使用对向量检索算法时,发现面对数据量较大时,批量匹配耗时会显著增加,影响业务整体响应。便尝试使用GPU来实现检索计算,限于本人技术有限,写不出好算法。便取巧利用Faiss-gpu来检索(* ^ ▽ ^ *) 以下…...
react学习记录
目录结构react优秀代码之react目录结构简洁之道React 作为一个库,不会决定你如何组织项目的结构。这是件好事,因为这样 - 掘金【React】项目的目录结构全面指南_react项目结构-CSDN博客 生命周期【React 面经】生命周期详解:不同阶段与方法解…...
MaskRCNN训练自己的数据集
一. 数据标注 1. 安装labelme软件 conda install labelme2. 运行labelme # 命令行中直接输入 labelme3. 标注 二、训练数据处理 1. 在根目录下创建datasets/demo1文件夹,创建如下几个文件夹 2. 将标注好的.json文件放在json文件夹中 3. 原图放在pic文件夹中 4. …...
metawrap bin_refinement输入checkm数据库地址
这是运行metawrap bin_refinement -o bin_refinement -t 30 -A binning/metabat2_bins/ -B binning/maxbin2_bins/ -C binning/concoct_bins/ -c 50 -x 10 时遇到的报错(在命令行跑的时候遇到的) 参考metaGEM使用小记(解决各种问题)2024 2(三…...