練習:對象數組 5

定義一個長度為 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. 算法偏差控制?…