Java为我们提供了集合数组,比如List接口等,同时我们可以直接通过已经封装好的函数进行增删改查,那么我们自己该如何实现对象那个数组的增删改查呢?
我们做一个添加学生信息的project来作为事例说明。
学生类:
package school;
public class Student {
public int id;
public String name;
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;
}
}
学生信息数组及增删改查操作
package school;
import java.util.Scanner;
public class stuList {
Student stu = new Student();
Scanner in = new Scanner(System.in);
public static Student [] a=new Student [100];
public static int index = 0;
public void addstu(Student s)
{
a[index]=s;
index++;
System.out.println("index"+index);
}
public void addinfor()
{
System.out.println("输入学生学号");
int id1=in.nextInt();
stu.setId(id1);
System.out.println("输入学生姓名");
String name1 = in.next();
stu.setName(name1);
addstu(stu);
//System.out.println(a[0].getName());
}
public void searchinfor()
{
for(int i = 0;i<index;i++)
System.out.println("学号为"+"a"+i+a[i].getId()+"姓名为"+a[i].getName());
}
public void delectinfor()
{
System.out.println("输入你要删除学生的姓名");
String str = in.next();
if(index==1)
{
a[0]=null;
System.out.println("此时没有数据");
}
else
{for(int i = 0;i<index;i++)
{
if(a[i].getName().equals(str))
{
if(i!=index-1)
a[i]=a[i+1];
}
}
index--;
}
}
public void update()
{
System.out.println("输入你想修改学生的姓名");
String name2 = in.next();
for(int i = 0;i<index;i++)
{
if(a[i].getName().equals(name2));
System.out.println("输入学生学号");
int id2;
id2=in.nextInt();
a[i].setId(id2);
System.out.println("输入学生姓名");
String name3;
name3=in.next();
a[i].setName(name3);
System.out.println("信息已经保存,请查看");
break;
}
最后的是测试类
package school;
import java.util.Scanner;
public class Test {
public void pig()
{
System.out.println("欢迎来到学生信息系统");
System.out.println("添加学生请按1");
System.out.println("删除学生请按2");
System.out.println("查询学生信息请按3");
System.out.println("更新信息请按4");
stuList ss = new stuList();
Scanner demo = new Scanner(System.in);
int key;
key= demo.nextInt();
switch (key) {
case 1:ss.addinfor();
pig();
break;
case 2:
ss.delectinfor();
System.out.println("删除成功");
pig();
break;
case 3:
ss.searchinfor();
pig();
break;
case 4:
ss.update();
pig();
break;
default:
break;
}
}
public static void main(String[] args) {
Test tt = new Test();
tt.pig();
}
}
}
}
初学者,如有不妥的地方,请大家指正。谢谢。