Java基础扩展:2.数据输入存储对象案例

之前尝试过从键盘输入数据,这次尝试下把输入的数据以集合的形式存储。
首先看下简单案例的需求:

创建一个存储学生对象的集合,存储多个学生对象,使用程序从键盘上输入学生的信息:姓名和年龄,把学生信息存储到一个集合中,并且在控制台遍历这个集合。

脑阔转急弯(明确需求)

  1. 学妹对象,属性:name(姓名)和age(年龄)
  2. 考虑把从键盘上输入学生的信息包装成一个方法?好像可以增加复用性。
  3. 剩下的创建集合,存储对象,输出对象。找个对象? 略略略!

首先搞个对象 搞个类,把学生还是得包装一下,要不然不知道被谁偷偷拐跑了。

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);
    }
}
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页