学生管理系统超级厉害实用,考试作业一码通

样例:

[只运行了两步,其他功能正常使用]
只运行了两步,其他功能正常使用

简化版学生管理系统

package com.itheima;

import javax.print.attribute.standard.PrinterURI;
import javax.print.attribute.standard.Sides;
import java.util.ArrayList;
import java.util.Scanner;

public class teststudent {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<student> list = new ArrayList<>(); //创建一个集合容器对象
        lo:
        while (true) {
            System.out.println("**##$$$$$欢迎进入学生管理系统$$$$$##**");
            System.out.println("************好人一生写代码************");
            System.out.println("1.添加学生");
            System.out.println("2.删除学生");
            System.out.println("3.修改学生");
            System.out.println("4.查看学生");
            System.out.println("5.**退出**");
            System.out.println("请输入您的选择:");

            String chioce = sc.next();//输入选择

            switch (chioce) {
                case "1":
                    addstudent(list);//增加学生
                    break;
                case "2":
                    deletestudent(list);//删除学生");
                    break;
                case "3":
                    //修改学生");
                    updatestudent(list);
                    break;
                case "4":
                    //查看学生");
                    lookstudent(list);
                    break;
                case "5":
                    System.out.println("退出");
                    break lo;
                default:
                    System.out.println("你的输入不对,请重新输入");
                    break;
            }
        }
    }//控制台

    public static void lookstudent(ArrayList<student> list) {//查看学生信息
        if (list.size()==0){
            System.out.println("无信息,请添加后重新查询");
            return;
        }
        System.out.println("学号"+"\t\t"+"姓名"+"\t\t"+"年龄"+"\t\t"+"生日");
        for (int i = 0; i < list.size(); i++) {
            student stu =list.get(i);
            System.out.println(stu.getSid()+"\t"+stu.getName()+"\t\t"+stu.getAge()+"\t\t"+stu.getBirthday());
        }

    }//查看


    public static void deletestudent(ArrayList<student> list) {//删除
        System.out.println("请输入你要删除的学号:");
        Scanner sc = new Scanner(System.in);
        String deletesid = sc.next();
        int index = getIndex(list, deletesid);

        if (index == -1) {
            System.out.println("您输入的学号不存在,请重新输入:");
        } else {
            list.remove(index);
            System.out.println("删除成功,厉害了我的秃头哥");
        }

    }//删除


    public static void updatestudent(ArrayList<student> list) {//修改
        for (int i = 0; i < 3; i++) {
        System.out.println("请输入你要修改的学生学号:");
        Scanner sc = new Scanner(System.in);
        String updatesid = sc.next();
        int index = getIndex(list, updatesid);



        if (index!= -1) {
            System.out.println("请输入新的学生姓名:");
            String name = sc.next();
            System.out.println("请输入新的学生年龄:");
            int age = sc.nextInt();
            System.out.println("请输入新的学生生日:");
            String birthday = sc.next();
            student stu = new student(updatesid, name, age, birthday);//封装对象
            list.set(index,stu);//可以直接从索引处修改,不需要添加对象,要不然会成为两行信息.
            System.out.println("修改成功");
            break;
        } else {
            if (i==2){
                System.out.println("您没有机会了,下次再输入");
                break;
            }else
            System.out.println("输入的学号不存在,你还有"+(2-i)+"次机会");

        }
        }

    }//修改


    public static void addstudent(ArrayList<student> list) {//增加学生
        Scanner sc = new Scanner(System.in);


        while (true) {
            System.out.println("请输入学号:");
            //String sid;//自己修改
            String sid = sc.next();

            int index = getIndex(list, sid);
            if (index == -1) {


            System.out.println("请输入姓名:");
            String name = sc.next();
            System.out.println("请输入年龄:");
            int age = sc.nextInt();
            System.out.println("请输入生日:");
            String birthday = sc.next();
            student stu = new student(sid, name, age, birthday);
            list.add(stu);
            System.out.println("添加成功");
            }
            return;//while循环添加返回值,看情况返回
        }

    }//添加


    private static int getIndex(ArrayList<student> list, String sid) {//确定索引,实现检索是否有元素以进行元素的增加和修改
        int index = -1;
        for (int i = 0; i < list.size(); i++) {
            student stu = list.get(i);
            String id = stu.getSid();
            if (id.equals(sid)) {
                index = i;//记录索引位置i
            }
        }
        return index;
    }//确定索引,用以添加,修改,删除.

    static class student {
        private  String sid;
        private  String name;
        private  int age;
        private  String birthday;
        public student(){}
        public  student(String sid,String name,int age,String birthday){
            this.sid=sid;
            this.name=name;
            this.age=age;
            this.birthday=birthday;
        }
        public void setSid(){
            this.sid=sid;
        }
        public String getSid(){
            return sid;
        }

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

        public String getName() {
            return name;
        }

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

        public int getAge() {
            return age;
        }

        public void setBirthday(String birthday) {
            this.birthday = birthday;
        }

        public String getBirthday() {
            return birthday;
        }
    }
}

明白好用,请点赞\评论\关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值