定义一个长度为 3 的数组,数组存储 1~3 名学生对象作为初始数据,学生对象的学号,姓名各不相同。学生的属性:学号,姓名,年龄。

要求 1:再次添加一个学生对象,并在添加的时候进行学号的唯一性判断。

要求 2:添加完毕之后,遍历所有学生信息。

要求 3:通过 id 删除学生信息,如果存在,则删除,如果不存在,则提示删除失败。

要求 4:删除完毕之后,遍历所有学生信息。

要求 5:查询数组 id 为“2022072002”的学生,如果存在,则将他的年龄+1 岁。

代码一:

//对象数组 5:
//代码一:
package demo03;
public class Students {//定义学生的三个私有属性:姓名(name)、学号(id)、年龄(age):private String name;private int id;private int age;//空参构造:public Students() {}//含参构造:public Students(String name, int id, int age) {this.name = name;this.id = id;this.age = age;}//get 和 set 方法:public String getName() {return name;}public void setName(String name) {this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

代码二:

//对象数组 5:
//代码二:
package demo03;
public class StudentsTest {public static void main(String[] args) {//定义一个长度为 3 的数组,用于存储学生对象;Students[] stu = new Students[3];//存储 3 名学生对象作为初始数据:Students stu1 = new Students("张三", 2022072001, 20);Students stu2 = new Students("李四", 2022072002, 21);Students stu3 = new Students("王五", 2022072003, 22);stu[0] = stu1;stu[1] = stu2;stu[2] = stu3;//再次添加一个学生对象:Students stu4 = new Students("赵六", 2022072004, 23);//判断学号唯一性:boolean result = idJudge(stu, stu4);if(result) {System.out.println("学号已经存在!");}else {int count = countNumber(stu);if(count == stu.length) {Students[] newArr = creatNewArr(stu);newArr[count] = stu4;printArr(newArr);}else {stu[count] = stu4;printArr(stu);}}//删除 id:int index = index(stu, 2022072001);if(index >= 0) {stu[index] = null;System.out.println("删除 id 后的学生信息:");printArr(stu);}else {System.out.println("id 不存在,删除失败!");}//查询数组 id 为“2022072002”的学生的索引:int studentIndex = index(stu, 2022072002);//如果存在则将年龄 +1:if(studentIndex >= 0) {int age = stu[studentIndex].getAge() + 1;stu[studentIndex].setAge(age);System.out.println("修改年龄后的学生信息:");printArr(stu);}else {System.out.println("id不存在,修改失败!");}}//定义学号唯一性判断的方法:public static boolean idJudge(Students[] stu, Students stu4) {for(int i = 0; i < stu.length; i++) {if(stu[i] != null) {if(stu[i].getId() == stu4.getId()) {return true;}}}return false;}//定义一个方法来判断数组中存了几个元素:public static int countNumber(Students[] stu) {int count = 0;for(int i = 0; i < stu.length; i++) {if(stu[i] != null) {count++;}}return count;}//定义一个创建新数组的方法:public static Students[] creatNewArr(Students[] stu) {Students[] newArr = new Students[stu.length + 1];for(int i = 0; i < stu.length; i++) {newArr[i] = stu[i];}return newArr;}//定义一个方法来遍历数组中每个元素:public static void printArr(Students[] stu) {for(int i = 0; i < stu.length; i++) {if(stu[i] != null) {System.out.println(stu[i].getName() + "------" + stu[i].getId() + "------" + stu[i].getAge());}}}//定义一个方法用于判断 id 所在索引位置:public static int index(Students[] stu, int id) {for(int i = 0; i < stu.length; i++) {if(stu[i] != null) {if(stu[i].getId() == id) {return i;}}}return -1;}
}

运行结果:

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

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

相关文章

Linux 中的 .bashrc 是什么?配置详解

如果你使用过 Linux 终端&#xff0c;那么你很可能接触过 .bashrc 文件。这个功能强大的脚本是个性化命令行环境并使其更高效运行的关键。 在本文中&#xff0c;我们将向你介绍这个文件是什么&#xff0c;在哪里可以找到它&#xff0c;以及如何安全地编辑它。你还将学到一些实…

JVM运行时数据区深度解析

&#x1f4be; JVM运行时数据区深度解析 文章目录&#x1f4be; JVM运行时数据区深度解析&#x1f3af; 引言&#x1f4da; 方法区&#x1f4cb; 方法区存储内容&#x1f504; 从永久代到元空间的演进永久代时期&#xff08;JDK 8之前&#xff09;元空间时期&#xff08;JDK 8及…

.NET nupkg包的深度解析与安全防护指南

在.NET开发领域&#xff0c;nupkg包是开发者们不可或缺的工具。它不仅是代码分发和资源共享的核心载体&#xff0c;还贯穿了开发、构建、部署的全流程。今天&#xff0c;我们将深入探讨nupkg包的核心功能、打包发布流程以及安全防护措施&#xff0c;帮助你在.NET开发中更加得心…

Cursor 快速入门指南:从安装到核心功能

引言 Cursor 是一款融合 AI 能力的现代代码编辑器&#xff0c;旨在提升开发者的编码效率。本文将带您从零开始&#xff0c;快速掌握 Cursor 的完整使用流程 - 包括安装配置、项目初始化以及核心 AI 功能的应用。 正文 1. 安装与初始配置 1.1 下载与安装 Cursor 支持跨平台…

自然语言处理中probe探测是什么意思。

文章目录&#x1f539; 1. 英文单词的基本含义&#xff08;动词 & 名词&#xff09;✅ 作为动词&#xff08;to probe&#xff09;&#xff1a;✅ 作为名词&#xff08;a probe&#xff09;&#xff1a;&#x1f539; 2. 不同领域的具体含义&#x1f539; 3. 在机器学习/NL…

【记录】Ubuntu挂载home文件夹到磁盘

问题描述 服务器装好后,home文件夹一般存放各个用户的文件,默认的存储磁盘为系统磁盘,一般比较小,可能几百G,这对于服务器来讲,相当小了,所以需要对home文件夹进行重新调整。 我之前的博文 点击进入 相关配置在重启机器后,磁盘配置自动失效,即配置好后,home在大的磁…

【注意避坑】基于Spring AI 开发本地天气 mcp server,通义灵码测试MCP server连接不稳定,cherry studio连接报错

springboot 版本&#xff1a; 3.5.4 cherry studio版本&#xff1a;1.4.7 通义灵码版本&#xff1a; 2.5.13 文章目录 问题描述&#xff1a;1. 通义灵码添加mcp server &#xff0c;配置测试2. cherry studio工具添加mcp server &#xff0c;配置测试 项目源代码&#xff1a;解…

Paimon LSM Tree Compaction 策略

压缩怎么进行的这里的操作都是KValue&#xff0c;内部有row kind&#xff0c;标记了删除和插入MergeTreeCompactManager 是 Paimon 中 Merge-Tree 结构压缩任务的总调度中心。它的核心职责就是监控文件的层级状态&#xff08;Levels&#xff09;&#xff0c;并在合适的时机&…

小米路由器3C刷OpenWrt,更换系统/变砖恢复 指南

基础篇看这里&#xff1a; 小米路由器3C如何安装OpenWrt官方编译的ROM - 哔哩哔哩 小米路由器 3C 刷入 Breed 和 OpenWrt - Snoopy1866 - 博客园 一、路由器注入 如果按照上面的文章&#xff0c; telnet、ftp一直连接失败,那么可以尝试看 这里&#xff1a; 获取路由器root权…

Spring Boot 项目启动时按需初始化加载数据

1、新建类&#xff0c;类上添加注解 Component &#xff0c;该类用于在项目启动时处理数据加载任务&#xff1b; 2、该类实现 ApplicationRunner 接口&#xff0c;并重写 run 方法&#xff1b; 3、在重写的 run 方法里处理数据加载任务&#xff1b; 注意&#xff1a; 有定时加载…

MCP快速入门—快速构建自己的服务器

引言 随着大语言模型(LLM)技术的快速发展&#xff0c;如何扩展其能力边界成为开发者关注的重点。MCP(Model Capability Protocol)作为一种协议标准&#xff0c;允许开发者构建自定义服务器来增强LLM的功能。 正文内容 1. MCP核心概念与技术背景 MCP服务器主要提供三种能力类…

Vue 事件总线深度解析:从实现原理到工程实践

在 Vue 组件通信体系中&#xff0c;事件总线&#xff08;Event Bus&#xff09;是处理非父子组件通信的轻量解决方案。本文将从技术实现细节、工程化实践、内存管理等维度展开&#xff0c;结合源码级分析与典型场景&#xff0c;带你全面掌握这一核心技术点。​一、事件总线的技…

CMake Qt静态库中配置qrc并使用

CMake Qt序言环境代码序言 看网上这资料较少&#xff0c;且我理解起来有歧义&#xff0c;特地补充 环境 CMake&#xff1a;3.29.2 Qt&#xff1a;5.15.2 MSVC&#xff1a;2022 IDE&#xff1a;QtCreator 代码 方式一&#xff1a; 在CMakeLists.txt里&#xff0c;add_libr…

记录一下:成功部署k8s集群(部分)

前提条件&#xff1a;安装了containerd、docker 关闭了firewalld、selinux 配置了时间同步服务 chronyd 关闭swap分区等1、在控制节点、工作节点&#xff0c;安装kubelet、kubeadm、kubectlyum install -y kubelet-1.26.0 kubeadm-1.26.0 kubectl-1.26.0 …

Idea如何解决包冲突

Idea如何解决包冲突1.Error信息&#xff1a;JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/E:/javapojects/stww-v4-gjtwt-seal/target/stww--v4-platform-proj…

python 协程学习笔记

目录 python 协程 通俗理解 Python 的 asyncio 协程&#xff0c;最擅长的是&#xff1a; 批量下载文件的例子&#xff1a; 协程的优势&#xff1a; python 协程 通俗理解 def my_coroutine():print("开始")x yield 1print("拿到了&#xff1a;", x)yi…

【学习笔记】蒙特卡洛仿真与matlab实现

概述 20 世纪 40 年代&#xff0c;由于电子计算机的出现&#xff0c; 借助计算机可以实现大量的随机抽样试验&#xff0c;为利用随机试验方法解决实际问题提供了便捷。 非常具代表性的例子是&#xff0c; 美国在第二次世界大战期间研制原子弹的“曼哈顿计划”中&#xff0c;为了…

HTTP/3.x协议详解:基于QUIC的下一代Web传输协议

一、HTTP/3协议概述 HTTP/3是超文本传输协议&#xff08;HTTP&#xff09;的第三个正式版本&#xff0c;由IETF&#xff08;互联网工程任务组&#xff09;于2022年正式标准化&#xff08;RFC 9114&#xff09;。其核心创新在于完全基于QUIC协议替代传统TCP&#xff0c;结合UDP…

【SQL】使用UPDATE修改表字段的时候,遇到1054 或者1064的问题怎么办?

我在使用python连接sql修改表格的时间字段的时候&#xff0c;遇到这样一个问题&#xff1a;ProgrammingError: (pymysql.err.ProgrammingError) (1064, “You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the ri…

【字节跳动】数据挖掘面试题0013:怎么做男女二分类问题, 从抖音 app 提供的内容中。

文章大纲 🔍 一、问题定义与数据基础数据源及预处理:⚙️ 二、特征工程方案1. 文本特征2. 视觉特征3. 音频与行为特征4. 上下文特征🤖 三、模型选型与训练1. 基础模型对比2. 多模态融合模型3. 训练技巧📊 四、评估与优化策略1. 评估指标2. 典型问题优化3. 算法偏差控制�…