作为一个初学者,学会面向对象的增删改查,是初学者学习Java的第一个难点,要解决其实只要掌握几个关键点即可。
1.首先,要对对象的属性进行私有化用private 关键字。然后再调用get和set 方法,按照标准的应该还有一个带参的构造方法和一个无参的构造方法,同时按shift加alt加s键可直接生成相应的方法。
2.学习这一段的时候应该都还没有学习数据库,在main方法里面用一个死循环,因为需要重复调用各种方法,而添加进去元素又没有连接数据库,在方法里面,初学者都会用到数组,增删改查其实都会用到数组,首先,在main方法外面创建一个静态的数组可以赋初始值,也可以不赋,最重要的是在每一个方法里面都创建一个新的数组,每循环一次都将数组赋值再替换。
比如:一个学生管理系统:
public class StudentMain {
static Student []s=new Student[0];
static Scanner sc=new Scanner(System.in);
public static void main(String[] args) {
//反复执行
while(true){
Student S;
System.out.println("请输入学生信息");
String c=sc.nextLine();
if(c.equals("exit")){
show();
return;
}else{
try{
String []s2=c.split("-");
S=new Student(s2[0],Integer.parseInt(s2[1]),Double.parseDouble(s2[2]));
Student []s1=new Student[s.length+1];
for(int i =0;i<s.length;i++){
s1[i]=s[i];
}
s1[s1.length-1]=S;
s=s1;
System.out.println("学生信息已录入系统");
}catch(Exception e){
System.out.println("输入有误,请输入学生信息(格式:姓名-年龄-成绩)");
e.printStackTrace();
break;
}
}
}
}
public static void show(){
double l=100;
double h=0;
String namel="";
String nameh="";
double sum=0;
for(int i=0;i<s.length;i++){
System.out.println("姓名:"+s[i].getName()+"\t"+"年龄:"+s[i].getAge()+"\t"+"成绩:"+s[i].getGrade());
if(s[i].getGrade()<l){
l=s[i].getGrade();
namel=s[i].getName();
}
if(s[i].getGrade()>h){
h=s[i].getGrade();
nameh=s[i].getName();
}
sum+=s[i].getGrade();
}
System.out.println("最高分是:"+h+"\t"+"学生是:"+nameh);
System.out.println("最低分是:"+l+"\t"+"学生是:"+namel);
System.out.println("平均分是:"+sum/s.length);
System.out.println("欢迎再次使用。");
}
}
在学习了集合的知识后,就可以不用数组反复去替换,直接将元素增减就可以了,比如:
List<Student>l=new ArrayList<>();
l.add(new Student("姓名","学号","性别","年龄","成绩"));
删除元素也是类似:
l.remove("下标");