对象数组
1.定义
将对象作为一个数组来应用
2.示例
-
创建实例类Student
public class Student { private String name; private int age; 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; } public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public void info() { System.out.println(name+""+age); } } -
测试
public class Test { public static void main(String[] args) { Student stu1 = new Student("张三", 20); Student stu2 = new Student("李四", 21); Student stu3 = new Student("王五", 20); Student student[] = new Student[5]; student[0] = stu1; student[1] = stu2; student[2] = stu3; for (Student stu : student) { if(stu!=null) { stu.info(); } } for (int i = 0; i < student.length; i++) { Student stu=student[i]; if(stu!=null) { System.out.println(stu.getName()+" "+stu.getAge()); } } } }
3.应用
通过对象数组实现汽车的增删改查管理
-
创建汽车类
/** * 汽车类 * * */ public class Car { //汽车品牌 private String name; //汽车颜色 private String color; //汽车车牌号 private int carNo; public Car() { super(); } public Car(String name, String color, int carNo) { super(); this.name = name; this.color = color; this.carNo = carNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public int getCarNo() { return carNo; } public void setCarNo(int carNo) { this.carNo = carNo; } //展示汽车信息 public void showCar() { System.out.println("品牌:" + this.name+"\t颜色:" + this.color+ "\t车牌号:"+this.carNo); } } -
创建管理类
/** * 汽车管理类 * 对汽车增删改查 * @author Administrator * */ import java.util.Scanner; public class CarManager { //创建对象数组,创建了一个能存10个Car类型对象的数组 static Car cars[]=new Car[10]; Scanner input = new Scanner(System.in); //静态代码块存储车库初始信息 static { //由于static修饰的都属于类,在加载类的时候就会执行static代码块 //所以一般可以把需要初始化的数据在static进行执行 cars[0] = new Car("兰博基尼","蓝色",1001); cars[1] = new Car("保时捷","黑色",1002); cars[2] = new Car("宝马","白色",1003); cars[3] = new Car("奥迪","红色",1004); cars[4] = new Car("奔驰","棕色",1005); } //汽车管理功能目录 public void showMenu() { System.out.println("*************欢迎进入豪车管理系统********************"); do { System.out.println("1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统"); System.out.println("请选择:"); int choise = input.nextInt(); switch (choise) { case 1: //显示汽车信息 this.showCarInfo(); continue; case 2: //添加汽车 this.addCar(); continue; case 3: //根据车牌号得到汽车信息 this.getByCar(); continue; case 4: //删除车牌信息 this.deleteCar(); continue; case 5: //修改车辆信息 this.updateCar(); continue; case 6: //退出系统 System.out.println("系统退出>>>>>>>>>>>"); break; default: System.out.println("选择错误,请重新选择"); continue; } break; } while (true); System.out.println("欢迎下次光临"); } //输出车辆信息 private void showCarInfo() { System.out.println("汽车信息:"); for (Car car : cars) { if(car!=null) { car.showCar(); } } } //添加汽车 private void addCar() { Car carinfo=this.inputCar(); boolean flag=this.addCarInfo(carinfo); if(flag) { System.out.println("增加成功!"); }else { System.out.println("增加失败!"); } } //根据车牌号得到汽车信息 private void getByCar() { System.out.println("请输入要查找的车牌号:"); int findCarNo = input.nextInt(); int num=this.findCar(findCarNo); if(num>=0) { System.out.println("查找成功!"); cars[num].showCar(); }else { System.out.println("很遗憾,车库中没有该车!"); } } //删除车牌信息 private void deleteCar() { System.out.println("请输入要删除的车牌号:"); int deleteCar = input.nextInt(); int num=this.findCar(deleteCar); if(num>=0) { for (int i = num; i < cars.length-1; i++) { cars[i]=cars[i+1]; } System.out.println("删除成功"); }else { System.out.println("很遗憾,车库中没有该车!"); } cars[cars.length-1]=null; } //修改车辆信息 private void updateCar() { System.out.println("请输入要修改的车牌号:"); int updateCar = input.nextInt(); int num=this.findCar(updateCar); if(num>=0) { Car car=this.inputCar(); cars[num]=car; System.out.println("修改成功"); }else { System.out.println("很遗憾,车库中没有该车!"); } } //寻找车牌号 private int findCar(int findCarNo) { for (int i = 0; i < cars.length; i++) { if(cars[i]!=null&&cars[i].getCarNo()==findCarNo) { return i; } } return -1; } //输入车辆信息 private Car inputCar() { System.out.println("请输入要添加的汽车信息:"); System.out.print("品牌:"); String newName = input.next(); System.out.print("颜色:"); String newColor = input.next(); System.out.print("车牌号:"); int newCarNo = input.nextInt(); Car carinfo=new Car(newName,newColor,newCarNo); return carinfo; } //添加车辆信息 private boolean addCarInfo(Car carinfo) { for (int i = 0; i < cars.length; i++) { if(cars[i]==null) { cars[i]=carinfo; return true; } } return false; } } -
测试
public class Test { public static void main(String[] args) { CarManager carman=new CarManager(); carman.showMenu(); } } -
结果
*************欢迎进入豪车管理系统******************** 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 1 汽车信息: 品牌:兰博基尼 颜色:蓝色 车牌号:1001 品牌:保时捷 颜色:黑色 车牌号:1002 品牌:宝马 颜色:白色 车牌号:1003 品牌:奥迪 颜色:红色 车牌号:1004 品牌:奔驰 颜色:棕色 车牌号:1005 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 2 请输入要添加的汽车信息: 品牌:大众 颜色:白色 车牌号:1006 增加成功! 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 1 汽车信息: 品牌:兰博基尼 颜色:蓝色 车牌号:1001 品牌:保时捷 颜色:黑色 车牌号:1002 品牌:宝马 颜色:白色 车牌号:1003 品牌:奥迪 颜色:红色 车牌号:1004 品牌:奔驰 颜色:棕色 车牌号:1005 品牌:大众 颜色:白色 车牌号:1006 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 3 请输入要查找的车牌号: 1006 查找成功! 品牌:大众 颜色:白色 车牌号:1006 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 4 请输入要删除的车牌号: 1006 删除成功 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 1 汽车信息: 品牌:兰博基尼 颜色:蓝色 车牌号:1001 品牌:保时捷 颜色:黑色 车牌号:1002 品牌:宝马 颜色:白色 车牌号:1003 品牌:奥迪 颜色:红色 车牌号:1004 品牌:奔驰 颜色:棕色 车牌号:1005 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 5 请输入要修改的车牌号: 1005 请输入要添加的汽车信息: 品牌:比亚迪 颜色:红色 车牌号:1005 修改成功 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 3 请输入要查找的车牌号: 1007 很遗憾,车库中没有该车! 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 4 请输入要删除的车牌号: 1007 很遗憾,车库中没有该车! 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 5 请输入要修改的车牌号: 1007 很遗憾,车库中没有该车! 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 8 选择错误,请重新选择 1.显示汽车信息2.添加汽车3.根据车牌号得到汽车信息4.删除车牌信息5.修改车辆信息6.退出系统 请选择: 6 系统退出>>>>>>>>>>> 欢迎下次光临
4.总结
- 对象数组的应用和数组差不多,只是传递的参数类型、返回值类型是多了对象这一选择。
- 对象数组能够存储不同的数据类型,解决数组类型单一的问题。
- 对象数组为我们了解集合有了一个过渡阶段。
本文介绍如何使用对象数组实现汽车信息的增删改查管理,包括创建汽车类和管理类,实现显示汽车信息、添加汽车、根据车牌号获取汽车信息等功能。
1081

被折叠的 条评论
为什么被折叠?



