题目:
代码:
学生类:
public class Studen { private int id; private String name; private int age; public Studen() { } public Studen(int id, String name, int age) { this.id = id; this.name = name; this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
对象:
要求1,要求2:找到id,添加一个学生
public class Test { public static void main(String[] args) { //创建一个数组用来存储学生对象 Studen []arr=new Studen[3]; //创建学生对象添加到数组中 Studen s1 = new Studen(1,"小红",14); Studen s2 = new Studen(2,"小明",15); Studen s3 = new Studen(3,"小白",14); arr[0]=s1; arr[1]=s2; arr[2]=s3; //要添加的数组 Studen s4 = new Studen(4,"小黑",14); //对要添加的id来做唯一判断查找 boolean contains = contains(arr, s4.getId()); if(contains){ //存在 System.out.println("当前id重复,请重新输入"); }else { //不存在 int count = getCount(arr); //存满就数组加一 if (count== arr.length){//满员了 Studen[] st = Array(arr);//+1 st[count]=s4; Test(st); }else { arr[count]=s4; Test(arr); } } } //打印数组 public static void Test(Studen[]arr){ for (int i = 0; i < arr.length; i++) { Studen studen = arr[i]; System.out.println(studen.getId()+","+studen.getName()+","+studen.getAge()); } } //数组加一方法 public static Studen[]Array(Studen[]arr){ Studen []newArray=new Studen[arr.length+1]; for (int i = 0; i < arr.length; i++) { newArray[i]=arr[i]; } return newArray; } //定义一个方法来看数组中有多少元素 public static int getCount(Studen[]arr){ int count=0; for (int i = 0; i < arr.length; i++) { if (arr!=null){ count++; } } return count; } public static boolean contains(Studen[]arr,int id){ for (int i = 0; i < arr.length; i++) { //获取数组中每一个学生对象 Studen studen = arr[i]; //获得数组中的id if (studen != null) { int id1 = studen.getId(); //比较 if (id1 == id) { return true; } } } return false; } }
要求3,要求4:找到id就删除
public class Test2 { public static void main(String[] args) { //创建一个数组用来存储学生对象 Studen[] arr = new Studen[3]; //创建学生对象添加到数组中 Studen s1 = new Studen(1, "小红", 14); Studen s2 = new Studen(2, "小明", 15); Studen s3 = new Studen(3, "小白", 14); arr[0] = s1; arr[1] = s2; arr[2] = s3; //查找id如果找到就删除 int count = count(arr, 1); if (count >= 0) { arr[count] = null; //存在为空 Test(arr); } else { System.out.println("不存在"); } } //打印数组 public static void Test(Studen[] arr) { for (int i = 0; i < arr.length; i++) { Studen studen = arr[i]; if (studen != null) { System.out.println(studen.getId() + "," + studen.getName() + "," + studen.getAge()); } } } public static int count(Studen[] arr, int id) { for (int i = 0; i < arr.length; i++) { Studen studen = arr[i]; if (studen != null) { int id1 = studen.getId(); if (id1 == id) { return i; } } } return -1; } }
要求5:找到id,年龄加1
public class Text3 { public static void main(String[] args) { //创建一个数组用来存储学生对象 Studen[] arr = new Studen[3]; //创建学生对象添加到数组中 Studen s1 = new Studen(1, "小红", 14); Studen s2 = new Studen(2, "小明", 15); Studen s3 = new Studen(3, "小白", 14); arr[0] = s1; arr[1] = s2; arr[2] = s3; //找到id,年龄加一 int count = count(arr,1); if (count>=0){ //找到 Studen studen = arr[count];//1 int newAge = studen.getAge() + 1;//年龄加一 //塞回去 studen.setAge(newAge); Test(arr); }else { System.out.println("不存在"); } } public static void Test(Studen[] arr) { for (int i = 0; i < arr.length; i++) { Studen studen = arr[i]; if (studen != null) { System.out.println(studen.getId() + "," + studen.getName() + "," + studen.getAge()); } } } public static int count(Studen[] arr, int id) { for (int i = 0; i < arr.length; i++) { Studen studen = arr[i]; if (studen != null) { int id1 = studen.getId(); if (id1 == id) {//判断 return i; } } } return -1; } }
效果:
要求1和2:
要求3和4:
要求5: