Java语言实现学生成绩排序问题

目录

题目:

代码展示:

Student类

TestStudent类

运行结果

​编辑


题目:

给定一段字符串,里面包含若干个学生上机和笔试成绩如
String str =  "张三:上机成绩=90,笔试成绩=78;
                     李四:上机成绩=68,笔试成绩=98;
                     王五:上机成绩=48,笔试成绩=58;
                      赵六:上机成绩=55,笔试成绩=11;
                      jim:上机成绩=44,笔试成绩=55;
                      tom:上机成绩=22,笔试成绩=55";
要求:
按照总分进行升序显示输出

代码展示:

Student类

学生姓名,上机成绩,笔试成绩  属性

计算成绩总分  构造方法

改写toString()方法  compareTo()方法

package com.ffyc.javaapi.zy.zy2.T5;public class Student implements Comparable<Student>{private String name;private int sjGrade;private int bsGrade;public Student(String name, int sjGrade, int bsGrade) {this.name = name;this.sjGrade = sjGrade;this.bsGrade = bsGrade;}public int Grade(){int zfGrade = this.sjGrade + this.bsGrade;return zfGrade;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", sjGrade=" + sjGrade +", bsGrade=" + bsGrade +'}';}@Overridepublic int compareTo(Student o) {//降序//return o.Grade() - this.Grade();//升序return this.Grade() - o.Grade();}
}

TestStudent类

package com.ffyc.javaapi.zy.zy2.T5;import java.util.Arrays;public class TestStudent {public static void main(String[] args) {//String类型字符串存储学生各项信息String str = "张三:上机成绩=90,笔试成绩=78;"+"李四:上机成绩=68,笔试成绩=98;"+"王五:上机成绩=48,笔试成绩=58;"+"赵六:上机成绩=55,笔试成绩=11;"+"jim:上机成绩=44,笔试成绩=55;"+"tom:上机成绩=22,笔试成绩=55";//String[]类型数组,通过spilt()方法将学生信息分割String[] strings =  str.split(";");//Student[]类型数组存储学生各项信息Student[] students = new Student[strings.length];//通过循环,将学生信息存储到students数组中for (int i = 0;i<strings.length;i++){String s = strings[i];//substring()截取指定位置信息   indexOf()查找指定元素在字符串中的位置  lastIndexOf()从后查找指定元素在字符串中的位置String name = s.substring(0, s.indexOf(":"));String sjGrade = s.substring(s.indexOf("=")+1, s.indexOf(","));String bsGrade = s.substring(s.lastIndexOf("=")+1);//new 学生对象Student student = new Student(name,Integer.parseInt(sjGrade),Integer.parseInt(bsGrade));students[i] = student;}//通过改写后的sort()方法对学生信息进行升序排序Arrays.sort(students);System.out.println(Arrays.toString(students));}
}

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/263810.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React18源码: reconcliler启动过程

Reconcliler启动过程 Reconcliler启动过程实际就是React的启动过程位于react-dom包&#xff0c;衔接reconciler运作流程中的输入步骤.在调用入口函数之前&#xff0c;reactElement(<App/>) 和 DOM对象 div#root 之间没有关联&#xff0c;用图片表示如下&#xff1a; 在启…

反序列化字符串逃逸 [安洵杯 2019]easy_serialize_php1

打开题目 $_SESSION是访客与整个网站交互过程中一直存在的公有变量 然后看extract()函数的功能&#xff1a; extract($_POST)就是将post的内容作为这个函数的参数。 extract() 函数从数组中将变量导入到当前的符号表(本题的作用是将_SESSION的两个函数变为post传参) function…

C++ //练习 8.9 使用你为8.1.2节(第281页)第一个练习所编写的函数打印一个istringstream对象的内容。

C Primer&#xff08;第5版&#xff09; 练习 8.9 练习 8.9 使用你为8.1.2节&#xff08;第281页&#xff09;第一个练习所编写的函数打印一个istringstream对象的内容。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /*****…

爬虫知识--03

数据存mysql import requests from bs4 import BeautifulSoup import pymysql# 链接数据库pymysql conn pymysql.connect(userroot,password"JIAJIA",host127.0.0.1,databasecnblogs,port3306, ) cursor conn.cursor() cursor conn.cursor()# 爬数据 res request…

ChatGPT Plus遇到订阅被拒原因与解决方案

ChatGPT Plus被广泛认为相比普通版本更快、更强&#xff0c;并且能最先体验新功能。 很多小伙伴再订阅时遇到图片中的问题 错误提示包括这些&#xff1a; Your credit card was declined.Try paying with a debit card instead.您的信用卡被拒绝了。请尝试用借记卡支付。你的…

Android 圆环带刻度条进度动画效果实现

效果图 需求是根据传感器做一个重力球效果&#xff0c;先实现了动画后续加上跟传感器联动. 又是摆烂的一天&#xff0c; 尚能呼吸&#xff0c;未来可期啊 View源码 package com.android.circlescalebar.view;import android.content.Context; import android.content.res.Typ…

【Crypto | CTF】BugKu 简单的RSA

天命&#xff1a;这题也不算简单了&#xff0c;要反编译&#xff0c;要灵活一点 首先收到pyc文件&#xff0c;拿去反编译出来&#xff0c;可以用在线反编译&#xff0c;也可以用工具反编译 在线&#xff1a;python反编译 - 在线工具 工具&#xff1a;https://download.csdn.n…

RocketMQ快速实战以及集群架构原理详解

RocketMQ快速实战以及集群架构原理详解 组成部分 启动Rocket服务之前要先启动NameServer NameServer 提供轻量级Broker路由服务&#xff0c;主要是提供服务注册 Broker 实际处理消息存储、转发等服务的核心组件 Producer 消息生产者集群&#xff0c;通常为业务系统中的一个功…

华清远见作业第四十一天——Qt(第三天)

思维导图&#xff1a; 编程 完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如…

利用iSCSI服务部署IP SAN网络存储服务

一、配置环境&#xff08;Vmware WorkStation虚拟环境&#xff09; 服务端与客户端OS&#xff1a;openEuler 22.03-LTS CPU&#xff1a;1U1C 内存&#xff1a;2G 硬盘&#xff1a;5个SCSI磁盘&#xff0c;其中一个作为系统盘&#xff0c;另外四个配置为RAID5阵列 服务器IP…

【黑马程序员】1、TypeScript介绍_黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程

课程地址&#xff1a;【黑马程序员前端TypeScript教程&#xff0c;TypeScript零基础入门到实战全套教程】 https://www.bilibili.com/video/BV14Z4y1u7pi/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 1、TypeScript介绍 1.1 TypeScript是什…

React 模态框的设计(三)拖动组件的完善

我在上次的Draggable组件的设计中给了一个简化的方法&#xff0c;今天我来完善一下这个组件&#xff0c;可用于任何可移动组件的包裹。完善后的效果如下所示&#xff1a; 这个优化中&#xff0c;增加了一个注目的效果&#xff0c;还增加了触发可拖动区域的指定功能&#xff0c;…

pikachu靶场-RCE

介绍&#xff1a; RCE(remote command/code execute)概述 RCE漏洞&#xff0c;可以让攻击者直接向后台服务器远程注入操作系统命令或者代码&#xff0c;从而控制后台系统。 远程系统命令执行 一般出现这种漏洞&#xff0c;是因为应用系统从设计上需要给用户提供指定的远程命…

2024“薪”风口、学习鸿蒙开发就业钱景如何?

随着华为的鸿蒙系统从诞生之初就备受关注&#xff0c;对于那些对鸿蒙开发感兴趣并希望在这一领域寻找职业发展的人来说&#xff0c;这是一个非常重要的问题。 那么&#xff0c;2024年学鸿蒙开发的就业前景如何呢&#xff1f; 一、彻底摆脱“安卓套壳”&#xff01; HarmonyO…

我用Python写了一个倒计时软件

人过中年&#xff0c;每天都觉得时间过得很快&#xff0c;忙活了一天却发现自己很多时候是瞎忙&#xff0c;似乎没有什么成效&#xff0c;匆忙中一天就过去了。 后来&#xff0c;我想想可能是我没有时间的紧迫感&#xff0c;或者说没有明确的目标和执行力&#xff0c;所以才会…

LeetCode94.二叉树的中序遍历

题目 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 &#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 思路 中序遍历的顺序是左子树 -> 根节点 -> 右子树。因此&#xff0c;我们可以通过递归的方式遍历二叉树&…

人工智能在测绘行业的应用与挑战

目录 一、背景 二、AI在测绘行业的应用方向 1. 自动化特征提取 2. 数据处理与分析 3. 无人机测绘 4. 智能导航与路径规划 5. 三维建模与可视化 6. 地理信息系统&#xff08;GIS&#xff09;智能化 三、发展前景 1. 技术融合 2. 精准测绘 3. 智慧城市建设 4. 可…

window: C++ 获取自己写的dll的地址

我自己用C写了一个插件,插件是dll形式的,我的插件式在dll的目录下有个config文件夹,里面是我用json写的插件配置文件,当插件运行的时候我需要读取到json配置文件,所有最重要的就是如何获取dll的路径. 大概就是这么个结构, 我自己封装了一个函数.只适用于window编程,因为里面用…

TCP/IP协议详解

文章目录 TCP/IP协议概述基于TCP/IP协议的应用工具协议协议的必要性 TCP/IP协议TCP/IP协议族协议的分层 传输方式的分类报文、帧、数据包等的区别TCP 和 UDP的区别 TCP/IP协议概述 TCP/IP&#xff08;Transmission Control Protocol/Internet Protocol&#xff09;是一组通信协…

Chrome插件精选 — 缓存清理

Chrome实现同一功能的插件往往有多款产品&#xff0c;逐一去安装试用耗时又费力&#xff0c;在此为某一类型插件挑选出比较好用的一款或几款&#xff0c;尽量满足界面精致、功能齐全、设置选项丰富的使用要求&#xff0c;便于节省一个个去尝试的时间和精力。 1. Chrome清理大师…