学生类:   学生基本类封装(private修饰成员变量,有参无参构造方法,成员变量的Set和Get方法)

public class Student {
    private String sid;
    private String name;
    private String age;
    private String address;

    public Student() {
    }

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

    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public String getName() {
        return name;
    }

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

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

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

测试类:  对学生类的基本操作    增删改查

  1 import java.util.ArrayList;
  2 import java.util.Scanner;
  3 
  4 public class StudentManger {
  5     public static void main(String[] args) {
  6         ArrayList<Student> array = new ArrayList<Student>();
  7         while (true) {  //文字页面
  8             System.out.println("--------欢迎来到学生管理系统--------");
  9             System.out.println("1 添加学生");
 10             System.out.println("2 删除学生");
 11             System.out.println("3 修改学生");
 12             System.out.println("4 查看所有学生");
 13             System.out.println("5 退出");
 14             System.out.println("请输入您的选择");
 15             Scanner scanner = new Scanner(System.in);
 16             String line = scanner.nextLine();
 17             //循环判断switch(line)对键盘输入结果进行判断
 18             switch (line) {
 19                 case "1":
 20                     System.out.println("添加学生");
 21                     addStudent(array);
 22                     break;
 23                 case "2":
 24                     System.out.println("删除学生");
 25                     deletStudent(array);
 26                     break;
 27                 case "3":
 28                     System.out.println("修改学生");
 29                     updateStudent(array);
 30                     break;
 31                 case "4":
 32                     System.out.println("查看所有学生");
 33                     findAllStudent(array);
 34                     break;
 35                 case "5":
 36                     System.out.println("谢谢使用");
 37                     System.exit(0);
 38             }
 39         }
 40 
 41     }
 42 
 43     //添加学生
 44     private static void addStudent(ArrayList<Student> array) {
 45         Scanner sc = new Scanner(System.in);
 46         String sid;
 47         //对输入学号进行判断,若使用过,重新输入
 48         while (true) {
 49             System.out.println("请输入学生学号:");
 50             sid = sc.nextLine();
 51             //布尔类型,调用isUsed方法进行判断
 52             boolean flag = isUsed(array, sid);
 53             if (flag) {
 54                 System.out.println("你输入的学号已经被使用,请重新输入");
 55             } else {
 56                 break;
 57             }
 58         }
 59         System.out.println("请输入学生姓名:  ");
 60         String name = sc.nextLine();
 61         System.out.println("请输入学生年龄:  ");
 62         String age = sc.nextLine();
 63         System.out.println("请输入学生居住地:  ");
 64         String address = sc.nextLine();
 65         //创建新的学生对象,用来存储以上信息
 66         Student s = new Student();
 67         //调用set方法进行传值
 68         s.setSid(sid);
 69         s.setName(name);
 70         s.setAge(age);
 71         s.setAddress(address);
 72         //将对象信息添加到集合中
 73         array.add(s);
 74         System.out.println("添加学生成功");
 75 
 76     }
 77 
 78     //定义一个方法,判断学号是否被使用
 79     public static boolean isUsed(ArrayList<Student> array, String sid) {
 80         //如果与集合中的某一个学生学号相同,返回true;如果都不相同,返回false
 81         boolean flag = false;
 82         //循环遍历,
 83         for (int i = 0; i < array.size(); i++) {
 84             //取出数组中的值进行判断,用equals方法进行判断
 85             Student s = array.get(i);
 86             if (s.getSid().equals(sid)) {
 87                 flag = true;
 88                 break;
 89             }
 90         }
 91         return flag;
 92     }
 93 
 94     //查看学生
 95     private static void findAllStudent(ArrayList<Student> array) {
 96         //判断集合是否有信息
 97         if (array.size() == 0) {
 98             System.out.println("无信息,请先添加信息再查询");
 99             return; //为了程序不在执行,直接返回,不向下运行
100         }
101         System.out.println("学号\t\t\t姓名\t\t年龄\t\t居住地");
102         //循环遍历2,打印输出
103         for (int i = 0; i < array.size(); i++) {
104             //创建学生对象,从集合中拿到学生的信息给到学生对象
105             Student s = array.get(i);
106             //打印输出,调用get方法
107             System.out.println(s.getSid() + "\t\t\t" + s.getName() + "\t\t" + s.getAge() + "岁\t\t" + s.getAddress());
108 
109         }
110 
111     }
112 
113     //删除学生
114     private static void deletStudent(ArrayList<Student> array) {
115         Scanner scanner = new Scanner(System.in);
116         System.out.println("请输入你要删除的学生的学号:");
117         String sid = scanner.nextLine();
118         //在删除/修改学生操作前,对学号是否存在进行判断
119         //如果不存在,显示提示信息
120         //如果存在,执行删除/修改操作
121         int index = -1; //定义一个变量,用来传值
122         //循环遍历
123         for (int i = 0; i < array.size(); i++) {
124             //创建学生对象,从集合中拿到学生的信息给到学生对象
125             Student s = array.get(i);
126             //将输入结果sid和学生对象的四点通过eauals方法进行判断
127             if (s.getSid().equals(sid)) {
128                 //如果相等,将i值赋给index
129                 index = i;
130                 break;
131             }
132         }
133         //进行判断,如果变量值为-1.该信息不存在,请重新输入
134         if (index == -1) {
135             System.out.println("该信息不存在,请重新输入");
136         } else {
137             //调用数组对象的remove删除方法,对上面循环传出来的index变量进行删除
138             array.remove(index);
139             System.out.println("删除学生成功");
140         }
141     }
142 
143     //修改学生
144     private static void updateStudent(ArrayList<Student> array) {
145         //键盘录入要修改的学生学号,显示提示信息
146         Scanner sc = new Scanner(System.in);
147         System.out.println("请输入你要修改的学生的学号:");
148         //定义变量名sid,
149         String sid;
150         //while循环进行判断判断条件是true
151         while (true) {
152             //将键盘输入的值给到变量sid
153             sid = sc.nextLine();
154             //调用isUsed方法,对数组中的sid和输入的sid进行判断
155             if (isUsed(array, sid)) {
156                 //如果返回结果是true,直接返回,反之提示你输入的学号不存在,请重新输入
157                 //直到输入正确的sid
158                 break;
159             } else {
160                 System.out.println("你输入的学号不存在,请重新输入");
161             }
162         }
163         //键盘录入要修改的学生信息
164         System.out.println("请输入学生新姓名:");
165         String name = sc.nextLine();
166         System.out.println("请输入学生新年龄:");
167         String age = sc.nextLine();
168         System.out.println("请输入学生新居住地:");
169         String address = sc.nextLine();
170 
171         //创建学生对象
172         Student s = new Student();
173         s.setSid(sid);
174         s.setName(name);
175         s.setAge(age);
176         s.setAddress(address);
177 
178         //遍历集合修改对应的学生信息
179         for (int i = 0; i < array.size(); i++) {
180             Student student = array.get(i);
181             if (student.getSid().equals(sid)) {
182                 array.set(i, s);
183                 break;
184             }
185         }
186         //给出修改成功提示
187         System.out.println("修改学生成功");
188     }
189 }

 

实现思路

一,学生管理系统——学生类

  1. 定义学生类,包含以下成员变量
    private String sid // 学生id
    private String name // 学生姓名
    private String age // 学生年龄
    private String address // 学生所在地

二,学生管理系统——操作页面

  1.实现方试——文字页面  

    用输出语句完成主界面的编写

    1.2 用Scanner实现键盘输入

    1.3 用switch语句完成选择的功能

    1.4 用循环完成功能结束后再次回到主界面

三,管理系统的功能——定义不同方法,然后调用方法实现功能

  学生管理系统的添加学生功能实现步骤

    1 定义一个方法,接收ArrayList集合 3.2 方法内完成添加学生的功能

      ①键盘录入学生信息

      ②根据录入的信息创建学生对象

      ③将学生对象添加到集合中

      ④提示添加成功信息 3.3 在添加学生的选项里调用添加学生的方法

  学生管理系统的查看学生功能实现步骤

    1 定义一个方法,接收ArrayList集合

    2 方法内遍历集合,将学生信息进行输出

    3 在查看所有学生选项里调用查看学生方法

  学生管理系统的删除学生功能实现步骤

    1 定义一个方法,接收ArrayList集合

    2 方法中接收要删除学生的学号

    3 遍历集合,获取每个学生对象

    4 使用学生对象的学号和录入的要删除的学号进行比较,如果相同,则将当前学生对象从集合中删除

    5 在删除学生选项里调用删除学生的方法

  学生管理系统的修改学生功能实现步骤

    1 定义一个方法,接收ArrayList集合

    2 方法中接收要修改学生的学号

    3 通过键盘录入学生对象所需的信息,并创建对象

    4 遍历集合,获取每一个学生对象。并和录入的修改学生学号进行比较.如果相同,则使用新学生对象替换当前学生对象

    5 在修改学生选项里调用修改学生的方法

  退出系统

    使用System.exit(0);退出JVM