java基础6-2学生管理系统案例

import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;

public class StudentSystem {
    private static final Scanner s = new Scanner(System.in);
    private static LinkedList studentList = new LinkedList();  //用集合保存学生数据
    private static LinkedList idStudent = new LinkedList();  //这个集合只负责保存学生id

    //系统页面功能
    private static void functionPage() {
        System.out.println("-----------1、增加学生-----------");
        System.out.println("-----------2、查询学生-----------");
        System.out.println("-----------3、删除学生-----------");
        System.out.println("-----------4、修改学生-----------");
        System.out.println("-----------0、退出系统-----------");
        System.out.print("请输入:");
    }

    //增加学生
    private static void addStudent() {
        System.out.print("请输入学号:");
        String id = s.next();
        Iterator it = idStudent.iterator();  //用另一个集合判断学生id是否存在,就是遍历另一个集合
        while (it.hasNext()) {
            Object studentId = it.next();
            if (studentId.equals(id)) {
                System.out.println("学号已存在,请重新输入!");
                return;
            }
        }
        idStudent.add(id);  //另一个集合只保存学生id,这样才可以判断学号是否冲突
        System.out.print("请输入姓名:");
        String name = s.next();
        System.out.print("请输入年龄:");
        int age = s.nextInt();
        System.out.print("请输入基本信息:");
        String info = s.next();
        studentList.add(new StudentAttributes(id, name, age, info));
        System.out.println("学生信息添加成功!!");
    }

    //查询学生
    private static void studentShowInfo() {
        //判断集合是否为空
        if (studentList.isEmpty()) {
            System.out.println("暂时还没学生~");
        } else {
            System.out.println("全部学生信息如下:");
            int count = 0;
            for (Object sl : studentList) {
                System.out.print("编号(" + (++count) + "):");
                System.out.println(sl);
            }
        }
    }

    //删除学生
    private static void delStudent() {
        //判断集合是否为空
        if (studentList.isEmpty()) {
            System.out.println("暂时还没学生~");
        } else {
            System.out.print("请输入要删除学生学号/0退出:");
            String id = s.next();
            if (id.equals("0")) {
                System.out.println("已取消!");
                return;
            } else {
                Iterator it = idStudent.iterator();
                int count = 0;
                while (it.hasNext()) {
                    count++;
                    Object idStu = it.next();
                    if (idStu.equals(id)) {
                        studentList.remove(count - 1);
                        idStudent.remove(count - 1);  //这个写法用于遍历我要删除一次就行,后面元素就不在遍历,因为执行完后就return了
//                        it.remove();  //这个用于遍历集合所有元素,满足条件就全部删除
                        System.out.println("删除成功!!");
                        return;
                    }
                }
                System.out.println("没找到该学生学号!");
            }
        }
    }

    //修改学生
    private static void modifyStudent() {
        if (studentList.isEmpty()) {
            System.out.println("暂时还没学生~");
        } else {
            System.out.print("请输入要修改学生学号/0退出:");
            String id = s.next();
            if (id.equals("0")) {
                System.out.println("已取消!");
                return;
            } else {
                Iterator it = idStudent.iterator();
                int count = 0;
                while (it.hasNext()) {
                    count++;
                    Object idStu = it.next();
                    if (idStu.equals(id)) {
                        System.out.println("该学生信息为:" + studentList.get(count - 1));
                        System.out.print("请输入修改学号:");
                        String stuId = s.next();
                        System.out.print("请输入修改姓名:");
                        String name = s.next();
                        System.out.print("请输入修改年龄:");
                        int age = s.nextInt();
                        System.out.print("请输入修改基本信息:");
                        String info = s.next();
                        studentList.set(count - 1, new StudentAttributes(stuId, name, age, info));
                        System.out.println("学生信息修改功!!");
                        return;
                    }
                }
                System.out.println("没找到该学生学号!");
            }
        }
    }

    //退出系统功能
    private static void exit() {
        System.out.println("感谢使用~");
    }


    public static void main(String[] args) {
        while (true) {
            functionPage();
            int key = s.nextInt();
            switch (key) {
                case 1:
                    addStudent();  //增加学生
                    break;
                case 2:
                    studentShowInfo();  //查询学生
                    break;
                case 3:
                    delStudent();  //删除学生
                    break;
                case 4:
                    modifyStudent();  //修改学生
                    break;
                case 0:
                    exit();   //退出学生系统函数
                    return;
                default:
                    System.out.println("输入错误!!请重新输入");
                    break;
            }
        }
    }
}
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值