简易学生管理系统

此系统可实现学生信息的添加、删除、修改和查看。

运行效果如下所示:

 实现代码如下所示:

 1 package heima;
 2 
 3 public class Student {
 4     private String sid;        //学号
 5     private String name;    //姓名
 6     private String age;        //年龄
 7     private String address;    //居住地
 8     public String getSid() {
 9         return sid;
10     }
11     public void setSid(String sid) {
12         this.sid = sid;
13     }
14     public String getName() {
15         return name;
16     }
17     public void setName(String name) {
18         this.name = name;
19     }
20     public String getAge() {
21         return age;
22     }
23     public void setAge(String age) {
24         this.age = age;
25     }
26     public String getAddress() {
27         return address;
28     }
29     public void setAddress(String address) {
30         this.address = address;
31     }
32     public Student() {
33     }
34     public Student(String sid, String name, String age, String address) {
35         this.sid = sid;
36         this.name = name;
37         this.age = age;
38         this.address = address;
39     }
40     
41 }
  1 package heima;
  2 
  3 import java.util.ArrayList;
  4 import java.util.Scanner;
  5 /*学生管理系统*/
  6 public class StudentManager {
  7 
  8     public static void main(String[] args) {
  9         //创建集合对象,用于存储学生数据
 10         ArrayList<Student> array=new ArrayList<Student>();
 11         
 12         //用循环完成再次回到主界面
 13         while(true) {
 14             System.out.println("--------欢迎来到学生管理系统--------");
 15             System.out.println("1添加学生");
 16             System.out.println("2删除学生");
 17             System.out.println("3修改学生");
 18             System.out.println("4查看所有学生");
 19             System.out.println("5退出");
 20             System.out.println("请输入你的选择:");
 21 
 22             Scanner sc=new Scanner(System.in);
 23             String line=sc.nextLine();
 24 
 25             switch(line) {
 26             case "1":
 27                 addStudent(array);
 28                 break;
 29             case "2":
 30                 deleteStudent(array);
 31                 break;
 32             case "3":
 33                 updataStudent(array);
 34                 break;
 35             case "4":
 36                 findAIIStudent(array);
 37                 break;
 38             case "5":
 39                 System.out.println("谢谢使用!");
 40                 System.exit(0);
 41             }
 42         }
 43     }
 44     //定义一个方法,用于添加学生信息
 45     public static void addStudent(ArrayList<Student> array) {
 46         //键盘录入学生对象所需要的数据,显示提示信息,提示要输入何种信息
 47         Scanner sc=new Scanner(System.in);
 48         
 49         //为了让sid在while循环外面被访问到
 50         String sid;
 51         
 52         //为了让程序能够回到这里,我们使用循环实现
 53         while(true) {
 54             System.out.println("请输入学生学号:");
 55             sid=sc.nextLine();
 56             
 57             boolean flag=isUsed(array,sid);
 58             if(flag) {
 59                 System.out.println("你输入的学号已经被使用,请重新输入");
 60             }else {
 61                 break;
 62             }
 63         }
 64         
 65         System.out.println("请输入学生姓名:");
 66         String name=sc.nextLine();
 67         System.out.println("请输入学生年龄:");
 68         String age=sc.nextLine();
 69         System.out.println("请输入学生居住地:");
 70         String address=sc.nextLine();
 71         
 72         //创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
 73         Student s=new Student();
 74         s.setSid(sid);
 75         s.setName(name);
 76         s.setAge(age);
 77         s.setAddress(address);
 78         
 79         //将学生对象添加到集合中
 80         array.add(s);
 81         
 82         //给出添加成功提示
 83         System.out.println("添加学生信息成功");
 84     }
 85     //定义一个方法,判断学号是否被使用
 86     public static boolean isUsed(ArrayList<Student> array,String sid) {
 87         //如果与集合中的某一个学生学号相同,返回true,如果都不相同,返回false
 88         for(int i=0;i<array.size();i++) {
 89             Student s=array.get(i);
 90             if(s.getSid().equals(sid)) {
 91                 return true;
 92             }
 93         }
 94         return false;
 95     }
 96     //定义一个方法,用于查看学生信息
 97     public static void findAIIStudent(ArrayList<Student> array) {
 98         //判断集合中是否有数据,如果没有显示提示信息
 99         if(array.size()==0) {
100             System.out.println("无信息,请先添加信息再查询");
101             //为了让程序不在往下执行,给出return;
102             return;
103         }
104         
105         //显示表头信息
106         System.out.println("学号\t姓名\t年龄\t居住地");
107         
108         //将集合中数据取出按照对应格式显示学生信息,年龄补充“岁”
109         for(int i=0;i<array.size();i++) {
110             Student s=array.get(i);
111             System.out.println(s.getSid()+"\t"+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
112         }
113     }
114     //定义一个方法,用于删除学生信息
115     public static void deleteStudent(ArrayList<Student> array) {
116         //键盘录入要删除的学生学号,显示提示信息
117         Scanner sc=new Scanner(System.in);
118         
119         System.out.println("请输入你要删除的学生的学号:");
120         String sid=sc.nextLine();
121         
122         //遍历集合将对应学生对象从集合中删除
123         int index=-1;
124         for(int i=0;i<array.size();i++) {
125             Student s=array.get(i);
126             if(s.getSid().equals(sid)) {
127                 index=i;
128                 break;
129             }
130         }
131         
132         if(index==-1) {
133             System.out.println("该信息不存在,请重新输入");
134         }else {
135             array.remove(index);
136             //给出删除成功提示
137             System.out.println("删除学生信息成功");
138         }
139     }
140     //定义一个方法,用于修改学生信息
141     public static void updataStudent(ArrayList<Student> array) {
142         //键盘录入要修改的学生学号,显示提示信息
143         Scanner sc=new Scanner(System.in); 
144         
145         System.out.println("请输入你要修改的学生学号:");
146         String sid=sc.nextLine();
147         
148         //遍历集合查看对应的学生信息是否存在
149         int index=-1;
150         for(int i=0;i<array.size();i++) {
151             Student s=array.get(i);
152             if(s.getSid().equals(sid)) {
153                 index=i;
154                 break;
155             }
156         }
157         if(index==-1) {
158             System.out.println("要修改的学生不存在");
159             return;
160         }
161         
162         //键盘录入要修改的学生信息
163         System.out.println("请输入学生新姓名:");
164         String name=sc.nextLine();
165         System.out.println("请输入学生新年龄:");
166         String age=sc.nextLine();
167         System.out.println("请输入学生新居住地:");
168         String address=sc.nextLine();
169         
170         //创建学生对象
171         Student stu=new Student();
172         stu.setSid(sid);
173         stu.setName(name);
174         stu.setAge(age);
175         stu.setAddress(address);
176         
177         //修改对应的学生信息
178         array.set(index,stu);
179         
180         //给出修改成功提示
181         System.out.println("修改学生信息成功");
182     }
183 }

 

posted @ 2021-11-14 21:29  1281024  阅读(106)  评论(0)    收藏  举报