对象数组的增删改查

封装与构造方法
package day9;

public class Student {
	private String name;
	private int age;
	
	//无参构造方法
	public Student(){
		
	}
	
	//有参构造方法
	public Student(String name, int age) {
		this.name = name;
		this.age = age;
	}

	@Override
	public String toString() {
		return "Student [name=" + name + ", age=" + 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;
	}
	
	
	
}

方法

package day9;

public class Manager {
	private Student stu[];
	
	//初始化方法
	public void init(){
		stu=new Student[6];
		Student student1=new Student(); //创建封装的对象
		student1.setName("Jack");
		student1.setAge(18);
		stu[0]=student1;
		
		Student student2=new Student("Tom",20);//创建对象来调用构造方法
		stu[1]=student2;
		
		stu[2]=new Student("Jhon",30); //直接把地址赋值给stu[2];	
	}
	
	
}


查询方法

//查询 通过加强for来遍历,但是加强for只适合来进行遍历
	public void show(){
		for(Student s:stu){
			System.out.println(s+"\t");
		}
	}

测试查询方法

package day9;

public class Test {
	public static void main(String[] args){
		Manager manager=new Manager(); //创建方法类的对象
				
		//通过对象来调用方法
		manager.init(); //调用初始化方法
		
		manager.show();  //调用查询方法,进行遍历
	}
}

在这里插入图片描述

插入方法

public void add(Student student){//把新对象插入到数组中
	int index=-1;//定义下标
	for(int i=0;i<stu.length;i++){
		if(stu[i]!=null){
			if(stu[i].getName.equals(student.getName){//判断插入的新对象的name是否与对象数组中的name有无重复
				System.out.println("数组中已经存在不能插入");
				break;
			}
		}
		if(stu[i]==null){
			index=i;
			break;
		}
	}
	if(index!=-1){
			stu[index]=student; //把新对象插入到数组中
			System.out.println("插入成功");
		}
}

测试插入方法

package day9;

public class Test {
	public static void main(String[] args){
		Manager manager=new Manager(); //创建方法类的对象
		
		//通过对象来调用方法
		manager.init(); //调用初始化方法
		
		
		Student student=new Student("Young",25);//创建新的对象调用有参的构造方法
		manager.add(student);  //调用增加方法
		manager.show();  //调用查询方法,进行遍历
	}
}

在这里插入图片描述
删除方法

public void delete(Student student){
		int index=-1;
		for(int i=0;i<stu.length;i++){
			if(stu[i]!=null){
				if(stu[i].getName().equals(student.getName())){
					index=i;
					break;
				}
			}
		}
		if(index!=-1){
			System.out.println("删除目标已找到,执行删除操作");
			for(int i=index;i<stu.length-1;i++){
				stu[i]=stu[i+1];
			}
			System.out.println("删除目标成功");
		}else{
			System.out.println("没有找到要删除的对象");
		}
	}

测试删除方法

package day9;

public class Test {
	public static void main(String[] args){
		Manager manager=new Manager(); //创建方法类的对象
		
		//通过对象来调用方法
		manager.init(); //调用初始化方法
		
		
		Student student=new Student("Jhon",20);//创建新的对象调用有参的构造方法

		manager.delete(student);  //调用删除方法

		manager.show();  //调用查询方法,进行遍历
	}
}

在这里插入图片描述
修改方法

public void change(Student student){
		int index=-1;
		for(int i=0;i<stu.length;i++){
			if(stu[i]!=null){
				if(stu[i].getName().equals(student.getName())){
					index=i;
					break;
				}
			}
		}
		if(index!=-1){
			System.out.println("已找到要修改的对象");
			stu[index]=student;
			System.out.println("修改成功");
		}else{
			System.out.println("没有找到要修改的对象");
		}
	}
	

测试修改方法

package day9;

public class Test {
	public static void main(String[] args){
		Manager manager=new Manager(); //创建方法类的对象
		
		//通过对象来调用方法
		manager.init(); //调用初始化方法
		
		
		Student student=new Student("Jack",10);//创建新的对象调用有参的构造方法

		manager.change(student); //调用修改方法
		manager.show();  //调用查询方法,进行遍历
	}
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值