java基础题——二维数组的基本应用
1.设计程序按照各个学生的 Java 成绩进行排序 ( 降序 )
2.设计程序,根据学生总成绩进行排序(降序排列),并输出学生姓名、每门课程的名称和该学生的成绩、该学生的总成绩
public static void main(String[] args) {String[] names = {"安琪拉", "王昭君", "蔡文姬", "妲己", "张良"};String[] courses = {"C++", "Java", "Python"};int[][] scores = {{90, 89, 75},{59, 40, 100},{100, 99, 80},{80, 61, 61},{60, 100, 99}};for( int i = 0 ; i < scores.length ; i++ ){System.out.print( names[ i ] + " => " ); // 输出学生姓名for( int j = 0 ; j < scores[ i ] .length ; j++ ){System.out.print( courses[ j ] + ":");// 输出课程名称System.out.print( scores[ i ][ j ] ); // 输出课程成绩if( j < scores[ i ] .length - 1 ) {System.out.print( " , " );}}System.out.println();}// 1. 按照各个学生的 Java 成绩进行排序(降序)for (int i = 0; i < scores.length - 1; i++) {for (int j = 0; j < scores.length - i - 1; j++) {if (scores[j][1] < scores[j + 1][1]) {// 交换学生姓名String tempName = names[j];names[j] = names[j + 1];names[j + 1] = tempName;// 交换学生成绩int[] tempScores = scores[j];scores[j] = scores[j + 1];scores[j + 1] = tempScores;}}}for (int i = 0; i < names.length; i++) {System.out.println(names[i] + " => " + courses[1] + ": " + scores[i][1]);}System.out.println();// 2. 根据学生总成绩进行排序(降序排列)int[] sumScore = new int[scores.length];for (int i = 0; i < scores.length; i++) {int sum = 0;for (int j = 0; j < scores[i].length; j++) {sum += scores[i][j];}sumScore[i] = sum;}// 对总分数组排序int[] sumArr = new int[scores.length];for (int i = 0; i < scores.length; i++) {int sum = 0;for (int j = 0; j < scores[i].length; j++) {sum += scores[i][j];}sumArr[i] = sum;}// 选择排序(降序)for (int i = 0; i < scores.length - 1; i++) {int max = i;for (int j = i + 1; j < scores.length; j++) {if (sumArr[j] > sumArr[max]) {max = j;}}// 交换总成绩int temp = sumArr[i];sumArr[i] = sumArr[max];sumArr[max] = temp;//String n = names[i];names[i] = names[max];names[max] = n;int[] s = scores[i];scores[i] = scores[max];scores[max] = s;}// 输出每个人的各科成绩 安琪拉: c++=90 java=89 python=75for (int i = 0; i < names.length; i++) {System.out.print(names[i] + ": ");for (int j = 0; j < scores[i].length; j++) {System.out.print(courses[j] + "=" + scores[i][j] + "\t");}System.out.println(sumArr[i]);System.out.println();}
解释:
- 定义一个字符串数组
names,存储5个学生的姓名; - 定义一个字符串数组
courses,存储3门课程的名称; - 定义一个二维整数数组
scores,存储了每个学生在每门课程的成绩; - 遍历
scores数组,按照降序输出每个学生的姓名、课程名称和成绩; - 对
scores数组进行排序,按照学生的Java成绩降序排列; - 输出排序后的学生姓名、课程名称和成绩;
- 计算每个学生的总成绩,并将其存储在
sumScore数组中; - 对
sumScore数组进行选择排序,按照降序排列; - 输出排序后的学生姓名、各科成绩和总成绩。
相关文章:
java基础题——二维数组的基本应用
1.设计程序按照各个学生的 Java 成绩进行排序 ( 降序 ) 2.设计程序,根据学生总成绩进行排序(降序排列),并输出学生姓名、每门课程的名称和该学生的成绩、该学生的总成绩 public static void main(String[] args) {String[] names {"安琪拉",…...
Leetcode 2119.反转两次的数字
反转 一个整数意味着倒置它的所有位。 例如,反转 2021 得到 1202 。反转 12300 得到 321 ,不保留前导零 。 给你一个整数 num ,反转 num 得到 reversed1 ,接着反转 reversed1 得到 reversed2 。如果 reversed2 等于 num &#x…...
BI神器Power Query(27)-- 使用PQ实现表格多列转换(3/3)
实例需求:原始表格包含多列属性数据,现在需要将不同属性分列展示在不同的行中,att1、att3、att5为一组,att2、att3、att6为另一组,数据如下所示。 更新表格数据 原始数据表: Col1Col2Att1Att2Att3Att4Att5Att6AAADD…...
VUE3照本宣科——认识VUE3
VUE3照本宣科——认识VUE3 前言一、命令创建项目1.中文官网2.菜鸟教程 二、VUE3项目目录结构1.public2.src(1)assets(2)components 3. .eslintrc.cjs4. .gitignore5. .prettierrc.json6.index.html7.package.json8.README.md9.vit…...
《计算机视觉中的多视图几何》笔记(12)
12 Structure Computation 本章讲述如何在已知基本矩阵 F F F和两幅图像中若干对对应点 x ↔ x ′ x \leftrightarrow x x↔x′的情况下计算三维空间点 X X X的位置。 文章目录 12 Structure Computation12.1 Problem statement12.2 Linear triangulation methods12.3 Geomet…...
TFT LCD刷新原理及LCD时序参数总结(LCD时序,写的挺好)
cd工作原理目前不了解,日后会在博客中添加这一部分的内容。 1.LCD工作原理[1] 我对LCD的工作原理也仅仅处在了解的地步,下面基于NXP公司对LCD工作原理介绍的ppt来学习一下。 LCD(liquid crystal display,液晶显示屏) 是由液晶段阵列组成,当…...
基于Java的电影院购票系统设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…...
Linux基础指令(六)
目录 前言1. man 指令2. date 指令3. cal 指令4. bc 指令5. uname 指令结语: 前言 欢迎各位伙伴来到学习 Linux 指令的 第六天!!! 在上一篇文章 Linux基本指令(五) 中,我们通过一段故事线,带大家感性的了…...
Anderson-Darling正态性检验【重要统计工具】
Anderson-Darling正态性检验是一种用于确定数据集是否服从正态分布(也称为高斯分布或钟形曲线分布)的统计方法。它基于Anderson和Darling于1954年提出的检验统计量。该检验的基本原理和用途如下: 基本原理: 零假设(Nu…...
Ubuntu基于Docker快速配置GDAL的Python、C++环境
本文介绍在Linux的Ubuntu操作系统中,基于Docker快速配置Python、C等不同编程语言均可用的地理数据处理库GDAL的方法。 首先,我们访问GDAL库的Docker镜像官方网站(https://github.com/OSGeo/gdal/tree/master/docker)。其中&#x…...
<C++> 哈希表模拟实现STL_unordered_set/map
哈希表模板参数的控制 首先需要明确的是,unordered_set是K模型的容器,而unordered_map是KV模型的容器。 要想只用一份哈希表代码同时封装出K模型和KV模型的容器,我们必定要对哈希表的模板参数进行控制。 为了与原哈希表的模板参数进行区分…...
【数据结构与算法】通过双向链表和HashMap实现LRU缓存 详解
这个双向链表采用的是有伪头节点和伪尾节点的 与上一篇文章中单链表的实现不同,区别于在实例化这个链表时就初始化了的伪头节点和伪尾节点,并相互指向,在第一次添加节点时,不需要再考虑空指针指向问题了。 /*** 通过链表与HashMa…...
MySQL的内置函数
文章目录 1. 聚合函数2. group by子句的使用3. 日期函数4. 字符串函5. 数学函数6. 其它函数 1. 聚合函数 COUNT([DISTINCT] expr) 返回查询到的数据的数量 用SELECT COUNT(*) FROM students或者SELECT COUNT(1) FROM students也能查询总个数。 统计本次考试的数学成绩分数去…...
数据结构与算法-(7)---栈的应用-(3)表达式转换
🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…...
Lilliefors正态性检验(一种非参数统计方法)
Lilliefors检验(也称为Kolmogorov-Smirnov-Lilliefors检验)是一种用于检验数据是否符合正态分布的统计检验方法,它是Kolmogorov-Smirnov检验的一种变体,专门用于小样本情况。与K-S检验不同,Lilliefors检验不需要假定数…...
【云原生】配置Kubernetes CronJob自动备份MySQL数据库(单机版)
文章目录 每天自动备份数据库MySQL【云原生】配置Kubernetes CronJob自动备份Clickhouse数据库 每天自动备份数据库 MySQL 引用镜像:databack/mysql-backup,使用文档:https://hub.docker.com/r/databack/mysql-backup 测试、开发环境:每天0点40分执行全库备份操作,备份文…...
基于PSO算法的功率角摆动曲线优化研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
数论知识点总结(一)
文章目录 目录 文章目录 前言 一、数论有哪些 二、题法混讲 1.素数判断,质数,筛法 2.最大公约数和最小公倍数 3.快速幂 4.约数 前言 现在针对CSP-J/S组的第一题主要都是数论,换句话说,持数论之剑,可行天下矣! 一、数论有哪些 数论 原根,素数判断,质数,筛法最大公约数…...
知识分享 钡铼网关功能介绍:使用SSLTLS 加密,保证MQTT通信安全
背景 为了使不同的设备或系统能够相互通信,让旧有系统和新的系统可以集成,通信更加灵活和可靠。以及将数据从不同的来源收集并传输到不同的目的地,实现数据的集中管理和分发。 通信网关完美克服了这一难题,485或者网口的设备能通过…...
asp.net core mvc区域路由
ASP.NET Core 区域路由(Area Routing)是一种将应用程序中的路由划分为多个区域的方式,类似于 MVC 的控制器和视图的区域划分。区域路由可以帮助开发人员更好地组织应用程序的代码和路由,并使其更易于维护。 要使用区域路由&#…...
基于DGX OpenClaw Stack构建本地AI智能体:从硬件调优到生产部署
1. 项目概述:一站式本地AI智能体栈如果你和我一样,对把大语言模型(LLM)真正“养”在自己的硬件上,构建一个功能完整、数据私有的智能助手有执念,那么你很可能已经踩过不少坑了。从选模型、搭服务、配工具链…...
云原生本地开发新范式:LDLT方法论与实践指南
1. 项目概述:从“LDLT”看云原生时代的本地开发范式革新如果你是一名云原生应用的开发者,大概率经历过这样的场景:为了调试一个微服务,你需要在本地启动一整套依赖——数据库、消息队列、缓存、甚至其他几个关联服务。你的开发机内…...
从服务器到手机:手把手教你修改游戏客户端IP,让私服在手机上跑起来
移动游戏私服客户端IP修改实战指南 当你在服务器上成功部署了游戏私服后,最令人沮丧的莫过于发现手机上的官方客户端无法连接到你的私人服务器。这个看似简单的"最后一公里"问题,往往成为许多私服搭建者的拦路虎。本文将彻底解决这个痛点&…...
别再为EVE-ng镜像发愁了!手把手教你从官网下载到VMware部署(附国内加速地址)
EVE-ng网络模拟器全流程实战:从镜像获取到高阶配置 第一次接触网络设备模拟的工程师,往往会在EVE-ng的入门阶段遇到各种"拦路虎"——镜像文件找不到可靠的下载源、导入VMware时配置出错、虚拟网络连接异常。这些问题如果得不到解决,…...
从日偏食图像处理开始:手把手在VS2019里跑通你的第一个OpenCV 4.3程序
从日偏食图像处理开始:手把手在VS2019里跑通你的第一个OpenCV 4.3程序 当那张日偏食照片第一次在屏幕上成功显示时,仿佛打开了计算机视觉的大门。本文将带你从零开始,用VS2019和OpenCV 4.3实现这个充满仪式感的"Hello World"——不…...
Systemback不只是备份:手把手教你修复Ubuntu启动项(GRUB)和fstab文件
Systemback系统救援实战:从GRUB修复到fstab配置急救指南 当Ubuntu系统突然拒绝启动,屏幕上只剩下闪烁的光标或是令人心碎的"GRUB rescue>"提示符时,大多数用户的第一反应往往是重装系统。但你可能不知道,Systemback这…...
C++项目集成Tesseract 5.x踩坑实录:从编译选项到内存管理的完整避坑指南
C项目集成Tesseract 5.x踩坑实录:从编译选项到内存管理的完整避坑指南 在计算机视觉和文档处理领域,Tesseract OCR引擎以其开源免费、多语言支持和较高的识别准确率,成为众多C项目的首选集成方案。然而,从源码编译到生产环境部署&…...
用LangChain Tools打造会自主查资料的GPT模型
1. 项目概述:为什么你需要一个“会自己查资料”的GPT模型?我第一次在ChatGPT里输入“2024年巴黎奥运会新增了哪些比赛项目?”时,得到的回复是:“我的训练数据截止于2021年9月,无法提供2024年的最新信息。”…...
如何3步解决网页数学公式复制到Word的世纪难题?
如何3步解决网页数学公式复制到Word的世纪难题? 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 你是否曾为了将维基百科、学术论文或…...
3个理由告诉你:为什么这款轻量级内存管理工具Mem Reduct能让你的Windows电脑飞起来?
3个理由告诉你:为什么这款轻量级内存管理工具Mem Reduct能让你的Windows电脑飞起来? 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitc…...
