学生管理系统完整版(控制台版本)

package com.ArrayList;

/**
 * @program: BasicJavaTest
 * @Author: jiahui
 * @Description:
 * @create: 2021-12-08 16:11
 */
public class Student {
    private String name;
    private int age;

    public Student() {
    }

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

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

import StuManagement.domain.student;

import java.util.ArrayList;
import java.util.Scanner;

/**
 * @program: BasicJavaTest
 * @Author: jiahui
 * @Description:
 * @create: 2021-12-09 16:12
 */
/*
学号不存在的问题
在删除和修改之前对学号进行判断
思路:定义一个方法,该方法用于从集合中查找学号在集合中索引的位置
 */
/*
解决学生学号重复的问题

 */
public class StudentManager {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<student> list = new ArrayList<student>();

        io:
        while (true) {
            System.out.println("----欢迎来到学生管理系统----");
            System.out.println("请输入您的选择: 1.添加学生 2.删除学生 3.修改学生 4. 查询学生,5.退出");
            System.out.println("请输入您的操作:");
            String choice = sc.next();
            switch (choice) {
                case "1":
                    //System.out.println("1.学生管理");
                    //开启学生管理
                    System.out.println("1.添加学生");
                    AddStu(list);

                    break;
                case "2":
                    System.out.println("2.删除学生");
                    DeleteStu(list);
                    break;
                case "3":
                    System.out.println("3.修改学生");
                    UpdateStu(list);
                    break;
                case "4":
                    System.out.println("4查询学生");

                     FindStu(list);
                    break;
                case "5":
                    System.out.println("返回上一级");

                    break io;
                default:
                    System.out.println("输入的操作指令无效!!!");
                    break;
            }
        }
    }

    public static void UpdateStu(ArrayList<student> list) {
        System.out.println("请输入您要修改的学生学号");
        Scanner sc=new Scanner(System.in);
        String s = sc.next();
        int index = getIndex(list,s);
        if(index==-1){
            System.out.println("学号不存在,请重新输入");
        }else {
            System.out.println("请输入新的学生姓名:");
            String s1 = sc.next();
            System.out.println("请输入新的学生年龄:");
            int s2 = sc.nextInt();
            System.out.println("请输入新的学生生日:");
            String s3 = sc.next();
            student st1=new student(s,s1,s2,s3);
            list.add(st1);
            System.out.println("修改成功!!!");
        }

    }

    public static void DeleteStu(ArrayList<student> list) {
        System.out.println("请输入您要删除的学生学号");
   Scanner sc=new Scanner(System.in);
        String s = sc.next();
        int index = getIndex(list,s);
        if(index==-1){
            System.out.println("学号不存在,请重新输入");
        }else {
            list.remove(index);
            System.out.println("删除成功!!!");
        }

    }

    public static void FindStu(ArrayList<student> list) {
        //1.用键盘录入选择查看信息
        //2.定义一个方法,用于查看信息
              //2.1判断集合有没有信息 如果没有显示提示信息
              //2.2显示表头信息
              //2.3将集合中数据取出按照对应格式显示学生信息,年龄补充显示岁
        //调用方法

        if(list.size()==0){
            System.out.println("请先输入数据后在查询");
             return;
        }
        Scanner sc=new Scanner(System.in);
        String s = sc.next();
        System.out.println("====================学生信息管理系统=====================");
        System.out.println("学号\t姓名\t年龄\t生日\t");
        for (int i = 0; i < list.size(); i++) {
            student student = list.get(i);
            System.out.println(student.getId()+"\t\t"+student.getName()+"\t\t"+student.getAge()+"\t\t"+student.getBirthday());
        }
    }

    public static student AddStu(ArrayList<student> list) {
        String s;
        //1.给出录入的提示信息
        //2.将键盘录入的信息封装为学生对象
        //3.将封装好的学生对象,添加到集合容器中
        //4.给出添加成功的提示信息
        Scanner sc = new Scanner(System.in);
        while (true){
         System.out.println("请输入学生id:");
         s = sc.next();
            int index = getIndex(list, s);
            if(index==-1){
                break;//学号不存在,可以使用
            }
        }
        System.out.println("请输入学生姓名:");
        String s1 = sc.next();
        System.out.println("请输入学生年龄:");
        int s2 = sc.nextInt();
        System.out.println("请输入学生生日:");
        String s3 = sc.next();
        student st = new student();
        st.setId(s);
        st.setName(s1);
        st.setAge(s2);
        st.setBirthday(s3);
        list.add(st);
        if(list.size()!=0){
            System.out.println("Add success!!");
        }

        return st;


    }
    public  static  int getIndex(ArrayList<student> list,String id){//判断输入id是否在集合中
        int index=-1;//假设不存在
        for (int i = 0; i < list.size(); i++) {
            student student = list.get(i);
            String id1 = student.getId();
            if(id1.equals(id)){
                index=i;
            }

        }
        return index;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值