一 :数组和自定义数据类型的关系
1.1 有什么关系?
数组可以存储自定义数据类型
1.2 数组如何存自定义数据类型?
数组:数据类型[] 数组名 = new 数据类型[长度];
定义数组和初始化
Student[] arr = new Student[5];
自定义数据类型
1.3 数组的使用之存数据和自定义数据类型的使用
数组名[索引] = 数值;
类 对象名= new 类();
代码:
例题1:学生管理案例
package text;import java.util.Scanner;public class one {static Scanner sc =new Scanner(System.in);static student [] arry =new student[20];static int flag1=0;static int flag2=0;static int flag3=0;public static void main(String[] args) {info();while (true){System.out.println("请输入数字:1. 查看学生 2. 增加学生 3. 修改学生 4. 删除学生 ");int choise = sc.nextInt();if (choise==1){bianlishuzu();}//查看学生else if (choise==2) {System.out.print("请输入增加学生的id:");int id = sc.nextInt();System.out.print("请输入增加学生的age:");int age = sc.nextInt();System.out.print("请输入增加学生的name:");String name = sc.next();if (addmodel(id, age, name)) break;}//增加学生else if (choise==3){a:while (true){if (changemodel()) break a;}}//修改学生else if (choise==4){System.out.print("请输入删除学生的id:");int id = sc.nextInt();for (int i = 0; i < arry.length; i++) {if (arry[i]!=null){if (arry[i].id==id){arry[i].id=0;arry[i].age=0;arry[i].name=null;System.out.println("删除成功!");flag3=1;}}}if (flag3==0){System.out.println("未查询到id相匹配的数据!");}}//删除学生}}private static boolean changemodel() {System.out.print("请输入修改学生的id:");int id = sc.nextInt();for (int i = 0; i < arry.length; i++) {if (arry[i]!=null){if (arry[i].id==id){System.out.print("请输入修改学生的age:");int age = sc.nextInt();System.out.print("请输入修改学生的name:");String name = sc.next();arry[i].age=age;arry[i].name=name;System.out.println("修改成功!");flag2=1;return true;}}}if (flag2==0){System.out.println("未查询到id相匹配的数据!");}return false;}private static boolean addmodel(int id, int age, String name) {for (int i = 0; i < arry.length; i++) {if (arry[i]==null){arry[i]= new student(id, age, name);System.out.println("添加成功!");flag1=1;break;}}if (flag1==0){System.out.println("数据库已满!");return true;}return false;}private static void bianlishuzu() {for (int i = 0; i < arry.length; i++) {if (arry[i]!=null){System.out.print("id: "+arry[i].id+" ");System.out.print("age: "+arry[i].age+" ");System.out.print("name: "+arry[i].name+" ");System.out.println();}else {break;}}}private static void info() {//初始化student s1=new student(1,10,"Alisandem");student s2=new student(2,2000,"ShiHuangQin");student s3=new student(3,30,"Layzel");student s4=new student(4,22,"ShadowHeart");arry[0]=s1;arry[1]=s2;arry[2]=s3;arry[3]=s4;} } class student{//学生基本类int id;int age;String name;public student(int id,int age,String name){this.age=age;this.id=id;this.name=name;}public void setAge(int age){if (age>=0){this.age=age;}else {System.out.println("错误数据,请重新输入:");}}public int getAge(){return age;}public void setId(int id){if (id>=0){this.id=id;}else {System.out.println("错误数据,请重新输入:");}}public int id(){return id;}public void setName(String name){if (name!=null){this.name=name;}else {System.out.println("错误数据,请重新输入:");}}public String getName(){return name;} } class studentManagement{}