之前尝试过从键盘输入数据,这次尝试下把输入的数据以集合的形式存储。
首先看下简单案例的需求:
创建一个存储学生对象的集合,存储多个学生对象,使用程序从键盘上输入学生的信息:姓名和年龄,把学生信息存储到一个集合中,并且在控制台遍历这个集合。
脑阔转急弯(明确需求):
- 学妹对象,属性:name(姓名)和age(年龄)
- 考虑把从键盘上输入学生的信息包装成一个方法?好像可以增加复用性。
- 剩下的创建集合,存储对象,输出对象。找个对象? 略略略!
首先搞个对象 搞个类,把学生还是得包装一下,要不然不知道被谁偷偷拐跑了。
public class Student {
//为啥用private?上个blog好像说过,保证信息不被外部类知晓。注意点个人隐私嘛!
private String name;
private int age;
public String getName() {
return name;
}
public String setName(String name) {
return this.name = name;
}
public int getAge() {
return age;
}
public int setAge(int age) {
return this.age = age;
}
}
然后写个Demo:
public class Demo1 {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> st = new ArrayList<Student>();
//添加集合对象,这里就直接操作了七次,感觉好渣。
addStudent(st);
addStudent(st);
addStudent(st);
addStudent(st);
addStudent(st);
addStudent(st);
addStudent(st);
//遍历对象,翻牌子了!
for (int i = 0; i < st.size(); i++) {
System.out.println("姓名:"+st.get(i).getName()+",年龄:"+st.get(i).getAge());
}
}
//创建一个没有返回值的addStudent方法,传入的参数是一个类的集合
public static void addStudent(ArrayList <Student> st){
//创建学生对象
Scanner scanner = new Scanner(System.in);
//输入学生姓名,电话
String name = scanner.nextLine();
int age = scanner.nextInt();
//new一个学妹
Student student = new Student();
//给学妹这个对象添加属性:姓名和年龄
student.setAge(age);
student.setName(name);
//往集合里面添加对象
st.add(student);
}
}