//录入
private void input(){
System.out.println("请输入学号:");
String num = scanner.next();
System.out.println("请输入姓名:");
String name = scanner.next();
System.out.println("请输入年龄:");
int age = scanner.nextInt();
System.out.println("请输入成绩:");
int cj = scanner.nextInt();
//新建一个person对象,把属性存进去
Person p = new Person();
p.setAge(age);
p.setCj(cj);
p.setName(name);
p.setNum(num);
for(Person per : array){
if( array.size() != 0 ){
if(p.equals(per)){
System.out.println("该学员已经存在,请重新录入!");
input();
}
}
}
array.add(p);
System.out.println("录入成功");
start();
}
//查询
private void inqure(){
System.out.println("请输入学号:");
String num = scanner.next();
Person person = null;
for(Person p : array){
if(p.getNum().equals(num)){
person = p;
break;
}
}
if(person!=null){
System.out.println("学号\t"+ "姓名\t" + "年龄\t" + "成绩\t" );
System.out.println(person.getNum()+"\t"+person.getName()+"\t"+person.getAge()+"\t"+person.getCj());
}else{
System.out.println("该学员不存在!");
start();
}
start();
}
//删除
private void delete(){
System.out.println("请输入学号:");
String num = scanner.next();
Person per = null;
for(Person p : array){
if(p.getNum().equals(num)){
System.out.println("学号\t"+ "姓名\t" + "年龄\t" + "成绩\t" );
System.out.println(p.getNum()+"\t"+p.getName()+"\t"+p.getAge()+"\t"+p.getCj());
per = p;
}
}
array.remove(per);
System.out.println("删除成功!");
start();
}
简单的学生管理系统。
其中录入判断对象是否重复,在这个foreach循环里判断,要求不允许有相同的对象,所以这个if判断放在for循环里,遇到第一个相同的就输出“相同”。
在查询中,输入学号查询对象,要把整个for循环走完再判断是否有相同的。则在for循环前就建一个接收对象,把查询结果赋给此对象,然后在for循环外面进行结果判断。
for循环嵌套if循环时,if循环即使得到自己的结果,for循环依旧会继续走下去,直到里面的对象比对完。
总结: 学会用接收对象接收结果,在进行判断。
学会根据实际情况判断想要得到的结果放在for循环里或者外。
用foreach在ArrayList集合取对象时,后面直接跟集合名。把集合当一个数组来看。