学生信息管理练习程序设计

学生信息管理练习程序设计

复习面向对象的程序设计思想、理解并掌握面向接口的程序设计思想、理解掌握三层架构的基本思想及实践。

一、需要解决问题

学生信息管理练习程序,实现对学生信息的管理,学生的学号、姓名、联系地址。录入学生的信息、编辑学生的信息、删除学生的信息、查询(根据学号查询、根据姓名查询)

1.如何存储学生的基本信息

必然要涉及很多名学生的信息,如何存储这些信息呢?一名学生就是个对象,也就是说,程序需要存储N个学生对象,最基本的方案使用对象数组。对象数组有哪些问题?

数组的长度是固定的,引入集合

2.List集合接口、ArrayList类

List集合接口、ArrayList类,位于java.util包。

有序的
collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。

List 接口的大小可变数组的实现。ArrayList的存储结构是数组(可变)

**ArrayList**() 构造一个初始容量为 10 的空列表。
**ArrayList**(Collection<? extends E> c) 构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
**ArrayList**(int initialCapacity) 构造一个具有指定初始容量的空列表。

void add(E e);//将指定的元素添加到此列表的尾部。

void add(int index,E element);//将指定的元素插入到此列表中的指定位置

void clear();//移除列表中的所有元素

E get(int index);//返回此列表中指定位置上的元素

boolean remove(Object o);//移除此列表中指定位置上的元素

int size();//返回此列表中的元素数

package demo;

import java.util.ArrayList;
import java.util.List;

public class Demo1 {
    public static void main(String[] args) {
        List<String> strs=new ArrayList<>();
        strs.add("Hello");
        strs.add("World");
        strs.add(0,"WWW");
        System.out.println(strs.size());
        System.out.println(strs.get(1));
        System.out.println(strs.contains("123"));
        strs.remove("Hello");
        for (String str : strs) {
            System.out.println(str);
        }
    }
}
package demo2;

public class Student {
    private String number;
    private String name;
    private String address;

    public Student() {
    }

    public Student(String number, String name, String address) {
        this.number = number;
        this.name = name;
        this.address = address;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}
package demo2;

import java.util.ArrayList;
import java.util.List;

public class Demo2 {
    public static void main(String[] args) {
        List<Student> stus=new ArrayList<>();
        Student s1=new Student("20181812102","张三丰","武当山");
        Student s2=new Student("20181812103","张无忌","光明顶");
        Student s3=new Student("20181812104","赵敏","元大都");
        stus.add(s1);//将元素加入到集合中
        stus.add(s2);
        stus.add(s3);
        //遍历
        for (Student student : stus) {
            System.out.println(student.getNumber()+"	"+student.getName()+"	"+student.getAddress());
        }
        //查询根据学号得到
        for (Student s : stus) {
            if(s.getNumber().equals("20181812105")){
                System.out.println(s.getNumber()+"	"+s.getName()+"	"+s.getAddress());
            }
        }
        //如何从集合中移除对象,首先要找到欲删除的记录,然后再删除。
        for (Student s : stus) {
            if(s.getNumber().equals("20181812102")){
                //stus.remove(s);
                System.out.println(stus.indexOf(s));
                stus.remove(stus.indexOf(s));
                break;
            }
        }
        for (Student s : stus) {
            System.out.println(s.getNumber()+"	"+s.getName()+"	"+s.getAddress());
        }
    }
}

二、练习程序设计

表示层功能:显示所有学生信息的列表、根据学号查询学生信息、根据姓名查询学生信息、编辑学生信息、删除学生信息、录入学生信息

业务层功能:IStudentService接口:

​ List getStudents();

​ Student getStudentByNumber(String number);

​ List getStudentsByName(String name);

​ boolean editStudentInfo(Student stu);

​ boolean deleteStudentByNumber(String number);

​ Student addStudent(Student stu);

数据访问层功能:IStudentDao接口:

​ List getStudents();

​ Student getStudentByNumber(String number);

​ List getStudentsByName(String name);

​ boolean updateStudentInfo(Student stu);

​ boolean deleteStudentByNumber(String number);

​ Student addStudent(Student stu);





Autor:VincentAdamNemessis E-mail:vincent5519@yeah.net QQ:3377299629 Wechat:ZTXLoveC3344
原文地址:https://www.cnblogs.com/VincentAdam/p/7d49793e384a29425b0203bb97430eb0.html