定義一個長度為 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;}
}
運行結果: