KY145 EXCEL排序(用Java实现)
描述
Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。 对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3 时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。
输入描述:
测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (N<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。以下有N行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。当读到 N=0 时,全部输入结束,相应的结果不要输出。
输出描述:
对每个测试用例,首先输出1行“Case:”。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3 时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。
示例1
输入:
3 1 000007 James 85 000010 Amy 90 000001 Zoe 60
输出:
Case: 000001 Zoe 60 000007 James 85 000010 Amy 90
代码如下:
/** Excel排序* 注意:* 按照list中对象的某一属性排序* Collections.sort(myList,Comparator.comparing(Student::getNo));* */
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;public class ExcelSort {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while(scanner.hasNext()) {int n = scanner.nextInt();int i = scanner.nextInt();List<Student> myList = new ArrayList<Student>();for (int j = 0; j < n; j++) {Student student = new Student(scanner.next(),scanner.next(),scanner.nextInt());myList.add(student);}if (i == 1) {Collections.sort(myList,Comparator.comparing(Student::getNo));System.out.println("Case:");for (Student student : myList) {System.out.println(student.no+" "+student.name+" "+student.grade);}}else if (i == 2) {Collections.sort(myList,Comparator.comparing(Student::getName));System.out.println("Case:");for (Student student : myList) {System.out.println(student.no+" "+student.name+" "+student.grade);}}else {Collections.sort(myList,Comparator.comparing(Student::getGrade).thenComparing(Student::getNo));System.out.println("Case:");for (Student student : myList) {System.out.println(student.no+" "+student.name+" "+student.grade);}}}}
}class Student{String no;String name;int grade;public Student(String no,String name,int grade) {this.no = no;this.name = name;this.grade = grade;}public void setNo(String no) {this.no = no;}public String getNo() {return no;}public void setGrade(int grade) {this.grade = grade;}public int getGrade() {return grade;}public void setName(String name) {this.name = name;}public String getName() {return name;}
相关文章:
KY145 EXCEL排序(用Java实现)
描述 Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。 对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C…...
属性选择器
1.[title]{background:yellow;}:所有带title标签设置成黄色 2.div[class]{background:yellow;}:所有div中带class标签设置成黄色 3.div[classbox1]{border:1px solid blue; }:div中包含class并且classbox1的设置成蓝边框 4. class…...
软考 - 系统架构设计师 - 关系模型的完整性规则
前言 关系模型的完整性规则是一组用于确保关系数据库中数据的完整性和一致性的规则。这些规则定义了在关系数据库中如何存储、更新和查询数据,以保证数据的准确性和一致性。 详情 关系模型的完整性规则主要包括以下三类: 实体完整性规则 这是确保每个…...
写了几个难一点的sql
写了几个难一点的sql SELECT bn.id AS book_node_id, t.version_id, bn.textbook_id, s.id AS subject_id, s.stage_id, COUNT( CASE WHEN d.document_type_id 1 AND d.scope IS NULL AND p.document_id IS NOT NULL THEN 1 END ) AS type_1_count, COUNT( CASEWHEN d.docume…...
【JDK常用的API】包装类
🍬 博主介绍👨🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 …...
Android Q(10)黑暗模式适配的实现
一、引言 随着 AndroidQ(10)的发布,黑暗模式成为了系统级别的特性。为了满足用户在不同环境下的使用需求,应用程序需要及时进行黑暗模式的适配。本文将详细介绍如何在 AndroidQ(10)上实现黑暗模式的适配&a…...
【git】git使用手册
目录 一 初始化 1.1 账号配置 1.2 ssh生成 1.2.1 配置ssh 1.2.2 测试SSH 1.3 初始化本地仓库并关联远程仓库 二 使用 2.1 上传 2.2 拉取 三 问题 3.1 关联失败 一 初始化 git的安装很简单,下载后大部分进行下一步完成即可----->地址: git工具下载 1.1 账号配置…...
unity中判断方向 用 KeyVertical ,KeyHorizontal 判断ui物体的 方向
float KeyVertical Input.GetAxis("Vertical"); float KeyHorizontal Input.GetAxis("Horizontal"); // 假设 UI 物体在竖直方向上为 Y 轴,水平方向上为 X 轴 Vector2 direction new Vector2(KeyHorizontal, KeyVertical); if (direction…...
前端a4纸尺寸转像素尺寸
前端必备工具推荐网站(免费图床、API和ChatAI等实用工具): http://luckycola.com.cn/ 一、a4纸张有多大 A4纸的尺寸是210mm297mm,也就是21.0cm29.7cm, A4纸尺寸转屏幕像素尺寸和屏幕分辨率有关,首先1英寸2.54cm, 如果屏幕DPI分辨率为72像素/英寸,换算一下ÿ…...
Android 中 调试和减少内存错误
Android 中 调试和减少内存错误 ASan 概述 官网连接: https://developer.android.com/ndk/guides/asan?hlzh-cn ASan API 27开始HWASan(替换AScan) 从 NDK r21 和 Android 10(API 级别 29)开始适用于 64 位 Arm 设…...
证券市场概述
证券市场 证券市场参与者证券发行市场(一级市场)证券发行方式(按发行对象)证券发行方式(按有无中介)证券交易市场(二级市场)证券交易所场外交易市场(店头市场、柜台市场&…...
什么是数据结构
一、什么是数据结构 1.数据结构研究计算机数据间的关系 2.包括数据的逻辑结构和储存结构及其操作 数据的逻辑结构:表示数据运算之间的抽象关系 按每个元素可能具有的直接前趋数和后继数将逻辑结构分为“线性结构”和“非线性结构”两大类 数据的储存结构&#…...
基于springboot+vue实现的学校田径运动会管理系统
作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…...
HarmonyOS 应用开发之FA模型绑定Stage模型ServiceExtensionAbility
本文介绍FA模型的三种应用组件如何绑定Stage模型的ServiceExtensionAbility组件。 PageAbility关联访问ServiceExtensionAbility PageAbility关联访问ServiceExtensionAbility和PageAbility关联访问ServiceAbility的方式完全相同。 import featureAbility from ohos.ability…...
Java 中的单例模式
引言: 在 Java 编程中,单例模式是一种常见的设计模式,它保证一个类只能创建一个实例,并提供一个全局访问点。单例模式在很多场景下都非常有用,比如线程池、日志系统、数据库连接池等。本文将详细介绍 Java 中单例模式的…...
鸿蒙OS开发实例:【ArkTS类库多线程I/O密集型任务开发】
使用异步并发可以解决单次I/O任务阻塞的问题,但是如果遇到I/O密集型任务,同样会阻塞线程中其它任务的执行,这时需要使用多线程并发能力来进行解决。 I/O密集型任务的性能重点通常不在于CPU的处理能力,而在于I/O操作的速度和效率。…...
OpenStack部署
目录 一、安装环境 1.无网络使用该命令 2.修改主机名 3.配置hosts解析 4.配置本机免密 5.关闭防火墙和SElinux策略 6.关闭NewworkManager 7.修改yum源 7.1下载阿里源 7.2清空并加载缓存yum源 8.安装基本工具 9.系统升级 10.安装OPenStack的yum仓库 11.修改OPenSt…...
Java中的多线程和线程安全问题
线程 线程是操作系统进行调度的最小单位。一个进程至少包含一个主线程,而一个线程可以启动多个子线程。线程之间共享进程的资源,但也有自己的局部变量。多线程程序和普通程序的区别:每个线程都是一个独立的执行流;多个线程之间是…...
java Web会议信息管理系统 用eclipse定制开发mysql数据库BS模式java编程jdbc
一、源码特点 jsp 会议信息管理系统是一套完善的web设计系统,对理解JSP java SERLVET mvc编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0&am…...
lock4j学习记录
一种简单的,支持不同方案的高性能分布式锁 简介 lock4j是一个分布式锁组件,其提供了多种不同的支持以满足不同性能和环境的需求。 立志打造一个简单但富有内涵的分布式锁组件。 特性 简单易用,功能强大,扩展性强。支持redis…...
Vue3+Cesium实战:解决404报错与Webpack配置优化指南
1. 为什么你的Cesium地图总是加载失败? 第一次在Vue3项目里集成Cesium时,我也被那些莫名其妙的404报错搞得焦头烂额。明明按照文档配置了,地图就是不显示,控制台一片红。后来才发现,90%的问题都出在资源路径配置上。 C…...
仅剩最后3家银行未完成Java Istio全面替换——这份含12类Java Agent冲突检测脚本、4种Sidecar注入模式对比的适配手册即将下线
第一章:Java Istio适配现状与收官倒计时Istio 1.20 是最后一个官方支持 Java 客户端(istio-java-api)的版本,自 1.21 起,Istio 社区正式移除了对 Java SDK 的维护和 CI 验证。这一决策标志着 Java 生态在 Istio 原生控…...
布隆过滤器与哈希索引:两级验证模型
在高并发、大数据量的系统中,快速判断一个元素是否“已经存在”是一项基础而关键的能力。无论是防止重复提交、抵御缓存穿透,还是实现分布式去重,都需要一种高效的存在性检查机制。实践中,布隆过滤器(Bloom Filter&…...
单片机IO口驱动能力解析与LED驱动设计
1. 单片机IO口驱动能力基础概念刚接触单片机开发时,很多同学对IO口的驱动能力概念感到困惑。实际上,驱动能力直接决定了单片机引脚能带动多大的负载。以常见的51单片机为例,其IO口在输出低电平时的灌电流能力通常为10-20mA,而输出…...
Java后端如何通过异步非阻塞方式提高美团外卖API并发调用能力
Java后端如何通过异步非阻塞方式提高美团外卖API并发调用能力 在“外卖霸王餐”等高并发业务场景中,系统往往需要同时调用美团、饿了么等多个第三方API。传统的同步阻塞IO模型(如使用RestTemplate或HttpClient直接调用)会导致Tomcat工作线程在…...
宝塔面板异地备份数据全攻略:从本地到云端的安全守护
1. 为什么你需要宝塔面板异地备份? 想象一下这样的场景:凌晨三点,你的服务器突然宕机,硬盘彻底损坏。如果所有数据都只存在本地,这意味着网站所有内容、用户数据、订单记录将瞬间归零。我见过太多站长因为单点存储导致…...
Jetson Orin R36.4.4内核编译与设备树定制实战:从.config修改到DTB生成
Jetson Orin R36.4.4内核编译与设备树定制实战:从.config修改到DTB生成 在嵌入式开发领域,Jetson Orin系列以其强大的AI算力和灵活的扩展性成为边缘计算的热门选择。但当我们需要连接特定传感器或外设时,标准系统镜像往往无法满足需求——这正…...
SigmaStar SSD21X系列芯片:智能家居与工业控制的多场景显示解决方案
1. SigmaStar SSD21X系列芯片:智能家居与工业控制的显示利器 第一次接触SigmaStar SSD21X系列芯片是在一个智能门锁项目上。当时客户要求低成本实现高清彩色触控屏,还要支持人脸识别和远程控制。测试了几款方案后,SSD210的表现让我印象深刻—…...
Python实战:高效破解RAR加密文件的自动化脚本设计
1. 为什么需要RAR密码破解脚本 在日常工作中,我们经常会遇到这样的尴尬情况:一个重要的RAR压缩文件,明明是自己设置的密码,却怎么也想不起来了。这时候,一个能够自动尝试各种密码组合的Python脚本就能派上大用场。 RAR…...
GLM-OCR与Transformer架构解析:从原理到高效部署
GLM-OCR与Transformer架构解析:从原理到高效部署 你是不是也好奇,那些能“看懂”图片里文字的AI,比如GLM-OCR,到底是怎么工作的?它凭什么能在一张复杂的海报里,准确无误地把文字抠出来,还能理解…...
