JavaBean类函数:
public class Student {
private String name;
private int number;
private int age;
public Student() {
}
public Student(String name, int number, int age) {
this.name = name;
this.number = number;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
测试类函数:
package weiqianxingPackage6;
import java.util.Scanner;
public class testStudent {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Student[] arr = new Student[3];
Student s1 = new Student("张三", 1, 18);
Student s2 = new Student("李四", 2, 19);
Student s3 = new Student("王五", 3, 20);
arr[0] = s1;
arr[1] = s2;
arr[2] = s3;
Student s4 = new Student("宋柳", 4, 21);
boolean flag = PanDuan(arr, s4.getNumber());
Student[] newarr = newarr(arr);
if (flag) {
int count = count(arr);
if (count == arr.length) {
newarr[count] = s4;
BL(newarr);
} else {
arr[count] = s4;
BL(arr);
}
}
//删除数组
System.out.println("删除数组");
System.out.println("输入你要删除的数组:");
int n = sc.nextInt();
int index = getindex(newarr, n);
if (index >= 0) {
newarr[index] = null;
}
BL(newarr);
//查询number为3的学信
System.out.println("输出你需要查询学生信息的学号:");
int a = sc.nextInt();
find(newarr, a);
}
//查询学号为3的学生信息并打印
public static void find(Student[] arr, int number) {
System.out.println("你所查询的学生信息为:");
for (int i = 0; i < arr.length; i++) {
if (arr[i] != null) {
if (number == arr[i].getNumber()) {
System.out.println("姓名为" + "\t" + arr[i].getName());
System.out.println("学号为" + "\t" + arr[i].getNumber());
System.out.println("年龄为" + "\t" + (arr[i].getAge()));
System.out.println("--------------------------------------");
}
}
}
}
//获得需要删除数组的索引
public static int getindex(Student[] arr, int number) {
for (int i = 0; i < arr.length; i++) {
Student s = arr[i];
if (s != null) {
int a = s.getNumber();
if (a == number) {
return i;
}
}
}
return -1;
}
//遍历数组
public static void BL(Student[] arr) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] != null) {
System.out.println("姓名为" + "\t" + arr[i].getName());
System.out.println("学号为" + "\t" + arr[i].getNumber());
System.out.println("年龄为" + "\t" + arr[i].getAge());
System.out.println("--------------------------------------");
}
}
}
//创建一个新数组方法
public static Student[] newarr(Student[] arr) {
Student[] newarr = new Student[arr.length + 1];
for (int i = 0; i < arr.length; i++) {
if (arr[i] != null) {
newarr[i] = arr[i];
}
}
return newarr;
}
//统计数组里面元素个数
public static int count(Student[] arr) {
int count = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] != null) {
count++;
}
}
return count;
}
//判断学号是否是唯一的
public static boolean PanDuan(Student[] arr, int number) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] != null) {
Student s = arr[i];
if (s.getNumber() == number) {
System.out.println("输入错误");
return false;
}
}
}
return true;
}
}
运行结果:
![](https://img-blog.csdnimg.cn/img_convert/aecf1ddac8ec9a0ac2be9558cb861fa6.png)