学生信息管理小系统(Java)

一、题目要求

 需要实现对应的操作

二、思路

(1)先设计一个主菜单界面,用户可以选择对应的功能;

(2)每个板块对应一个方法,实现具体的操作;

(3)最后在main函数中使用switch方法根据用户的选择对应不同的结果;

三、代码

  1 import java.util.ArrayList;
  2 import java.util.Scanner;
  3 
  4 public class StudentTest {
  5     public static void main(String[] args) {
  6         ArrayList<Student> list=new ArrayList<>();
  7         loop:while (true) {
  8             //1.添加菜单界面
  9             System.out.println("---------欢迎来到黑马学生系统---------");
 10             System.out.println("1.添加学生");
 11             System.out.println("2.删除学生");
 12             System.out.println("3.修改学生");
 13             System.out.println("4.查询学生");
 14             System.out.println("5.退出");
 15             System.out.println("请输入你要实现的功能");
 16             //从键盘接收用户传入的数据作为功能的选择
 17             Scanner sc=new Scanner(System.in);
 18             String choose=sc.next();
 19             //写出不同选项对应执行的方法(利用switch来进行)
 20             switch (choose){
 21                 case "1"-> add(list);
 22                 case "2"-> delete(list);
 23                 case "3"->change(list);
 24                 case "4"-> see(list);
 25                 case "5"-> {
 26                     System.out.println("程序已退出");
 27                     break loop;
 28                 }
 29                 default-> System.out.println("输入选项不存在,请重新输入");
 30             }
 31         }
 32     }
 33     //1.添加学生
 34     public static void add(ArrayList<Student> list){
 35         Scanner sc=new Scanner(System.in);
 36         System.out.println("请输入需要添加学生的id");
 37         String sid=sc.next();
 38         if(contains(list,sid)>=0){
 39             System.out.println("该学生已存在");
 40             return;
 41         }
 42         System.out.println("请输入需要添加学生的姓名");
 43         String sname=sc.next();
 44         System.out.println("请输入需要添加学生的年龄");
 45         int sage=sc.nextInt();
 46         System.out.println("请输入需要添加学生的地址");
 47         String saddress=sc.next();
 48         Student stu=new Student(sid,sname,saddress,sage);
 49         list.add(stu);
 50         System.out.println("学生添加成功");
 51     }
 52     //2.删除学生
 53     public static void delete(ArrayList<Student> list){
 54         System.out.println("请输入需要删除学生的id");
 55         Scanner sc=new Scanner(System.in);
 56         loop:while (true) {
 57             String sid=sc.next();
 58             for (int i = 0; i < list.size(); i++) {
 59                 Student temp=list.get(i);
 60                 if(sid.equals(temp.getId())){
 61                     list.remove(i);
 62                     System.out.println("删除成功");
 63                     break loop;
 64                 }
 65             }
 66             System.out.println("该学生不存在,请重新输入");
 67         }
 68     }
 69     //3.修改学生
 70     public static void change(ArrayList<Student> list){
 71         System.out.println("请输入你要修改的学生id");
 72         Scanner sc=new Scanner(System.in);
 73         String sid=sc.next();
 74         if(contains(list,sid)>=0){
 75             Student stu=new Student();
 76             stu.setId(sid);
 77             int index=contains(list,sid);
 78             System.out.println("请输入id为"+sid+"的新姓名");
 79             String newname=sc.next();
 80             stu.setName(newname);
 81             System.out.println("请输入id为"+sid+"的新年龄");
 82             int newage=sc.nextInt();
 83             stu.setAge(newage);
 84             System.out.println("请输入id为"+sid+"的新地址");
 85             String newaddress=sc.next();
 86             stu.setAddress(newaddress);
 87             list.set(index,stu);
 88             System.out.println("修改完成");
 89         }
 90         else{
 91             System.out.println("该学生不存在");
 92             return;
 93         }
 94     }
 95     //4.查询学生
 96     public static void see(ArrayList<Student> list) {
 97         if(list.size()==0){
 98             System.out.println("当前无学生信息");
 99         }
100         else {
101             System.out.println("id\t姓名\t年龄\t地址\t");
102             for (int i = 0; i < list.size(); i++) {
103                 Student stu = list.get(i);
104                 System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge() + "\t" + stu.getAddress());
105             }
106         }
107 
108     }
109     public static int contains(ArrayList<Student> list,String id){
110         for (int i = 0; i < list.size(); i++) {
111             Student stu=list.get(i);
112             if(stu.getId().equals(id)){
113                 return i;
114             }
115         }
116         return -1;
117     }
118 }

四、总结

(1)对于需要复用的代码,最好单独书写为一个方法,方便以后的调用,同时能提高代码的复用性和效率;

(2)需要ArrayList对应的几种基本方法

例:

 

 

 

 需要其他的方法时可以查API文档;

(3)return的作用:

①结束一个方法

②作为返回值

posted @ 2023-08-01 16:41  连师傅只会helloword  阅读(54)  评论(0)    收藏  举报