集合录入、查询

//录入 
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集合取对象时,后面直接跟集合名。把集合当一个数组来看。

             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值