java编写简单的学生管理系统

学生类

public class Student {
    private String no;//学号
    private String name;//姓名
    private double sorce;//分数

    public Student() {//无参构造方法
    }

    public Student(String no, String name, double sorce) {//有参构造方法
        this.no = no;
        this.name = name;
        this.sorce = sorce;
    }

    public String getNo() {
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }

    public String getName() {
        return name;
    }

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

    public double getSorce() {
        return sorce;
    }

    public void setSorce(double sorce) {
        this.sorce = sorce;
    }
}

                                                                  学生管理系统

import java.util.Scanner;

public class StudentManager {
    static Scanner in = new Scanner(System.in);
    static Student[] stu = new Student[100];//创建大小为100的Student数组

    static int num = 0;

    public static void main(String[] args) {


        A:while (true) {
            show();
            int num = in.nextInt();
            while (num < 1 || num > 5) {//确定输入的是1-5之间的整数
                System.out.println("输入有误,请重新输入");
                num = in.nextInt();
            }
            switch (num) {
                case 1:
                    add();
                    break;
                case 2:
                    del();
                    break;
                case 3:
                    cha();
                    break;
                case 4:
                    gai();
                    break;
                case 5:
                    System.out.println("退出成功");
                    break A;

            }
        }
        paiXu();
        allStudent();
        in.close();
    }
    //学生管理系统的界面
    public static void show() {
        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.print("请选择您要执行的操作:");
    }
    //添加学生信息的方法
    public static void add() {
        if (num > stu.length - 1) {
            System.out.println("系统成员已满");
            return;
        }
        Student student = new Student();//创建一个对象,用于接收信息,最后传给数组对象
        System.out.println("请输入学号");
        String no = in.next();
        for (int i = 0; i < num; i++) {
            while (stu[i].getNo().equals(no)) {
                System.out.println("学号输入重复,请重新输入");
                no = in.next();
            }
        }
        student.setNo(no);
        System.out.println("请输入姓名");
        student.setName(in.next());
        System.out.println("请输入成绩");
        student.setSorce(in.nextDouble());
        stu[num] = student;
        num++;
        System.out.println("添加成功");


    }
    //删除学生的方法
    public static void del() {
        Boolean flag = false;//flag是一个标志,判断是否有输入的这个学生
        int i = 0;
        System.out.println("请输入你要删除学生的学号");
        String no = in.next();
        for (; i < num; i++) {
            if (no.equals(stu[i].getNo())) {
                flag = true;
                break;
            }
        }
        if (flag) {
            for (; i < num - 1; i++) {
                stu[i] = stu[i + 1];
            }
            System.out.println("删除成功");
            num--;
        } else {
            System.out.println("查无此人");
        }
    }
    //查找一个学生的方法
    public static void cha() {
        boolean flag=false;//flag用于判断是否有这个学生
        if (num == 0) {
            System.out.println("请输入数据");
        } else{
            System.out.println("请输入你要查找学生的学号");
            String no=in.next();
            for (int i = 0; i < num; i++) {
                if(no.equals(stu[i].getNo())){
                    flag=true;
                    System.out.println("学号:"+stu[i].getNo()+" "+"姓名:"+stu[i].getName()+" "+"成绩:"+stu[i].getSorce());
                    break;
                }
            }
            if(flag==false)
                System.out.println("查无此人");
        }
    }
    //修改学生信息的方法
    public static void gai() {
        int i;
        Boolean flag = false;//flag用于判断是否有有这个学生
        System.out.println("请输入你要修改学生的学号");
        String number = in.next();
        for(i=0;i<num;i++){
            if(number.equals(stu[i].getNo())){
                flag=true;
                break;
            }
        }
            if (flag) {
                System.out.println("1.修改学号");
                System.out.println("2.修改姓名");
                System.out.println("3.修改成绩");
                System.out.println("4.退出修改");
                //用一个循环一直修改你输入的学号学生的信息,直到满足你的需求为止
                B:while (true) {
                    System.out.println("请输入你要修改的编号");
                    int n = in.nextInt();
                    while (n < 1 || n > 4) {//确保输入的是1-4之间的数
                        System.out.println("输入不规范,请重新输入:");
                        n = in.nextInt();
                    }

                    switch (n) {
                        case 1:
                            System.out.println("请输入:");
                            stu[i].setNo(in.next());
                            System.out.println("修改成功");
                            break;
                        case 2:
                            System.out.println("请输入:");
                            stu[i].setName(in.next());
                            System.out.println("修改成功");
                            break;
                        case 3:
                            System.out.println("请输入:");
                            stu[i].setSorce(in.nextDouble());
                            System.out.println("修改成功");
                            break;
                        case 4:
                            System.out.println("退出成功");
                            break B;
                    }
                }

            } else {
                System.out.println("查无此人");
            }
    }
    //按成绩从高到低排序
    public static void paiXu(){
        for(int i=0;i<num-1;i++){
            int k=i;
            for(int j=i+1;j<num;j++){
                if(stu[k].getSorce()<stu[j].getSorce())
                    k=j;
            }
            if(k!=i){
                Student s=stu[k];
                stu[k]=stu[i];
                stu[i]=s;
            }
        }
    }
    //最后打印所有的学生信息
    public static void allStudent(){
        if(num!=0){
            for(int i=0;i<num;i++)
                System.out.println("学号:"+stu[i].getNo()+" "+"姓名:"+stu[i].getName()+" "+"成绩:"+stu[i].getSorce());
        }

    }
}

版权声明:本文为yongwenya原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。