JAVA学生管理系统

img

img

添加没有任何问题了,但删除还是有问题的,谢谢楼主。因为代码控件的原因,我就整个代码发给你了
import java.util.Scanner;

public class Demo {
static Stu[] Stu = new Stu[55];
static int number = 0;
static Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
    int choice;
    System.out.println("这是一个学生的管理系统");
    while (true){
        System.out.println("1:信息添加");
        System.out.println("2:信息查看");
        System.out.println("3:信息修改");
        System.out.println("4:信息查询");
        System.out.println("5:信息删除");
        System.out.println("6:退出");
        choice = scanner.nextInt();
        if(choice==7)
            break;
        switch (choice){
            case 1:
                add(); break;
            case 2:
                show();break;
            case 3:
                change();break;
            case 4:
                query();break;
            case 5:
                delete();break;
            case 6:
                quit();break;

        }
    }
    System.out.println("感谢你对本系统的操作");
}
static void add(){
    while (true){
        System.out.println("请输入学生的相关信息");
        Stu[number] = new Stu();
        Stu[number].setStuNum(scanner.next());
        Stu[number].setName(scanner.next());
        Stu[number].setSex(scanner.next());
        Stu[number].setAge (scanner.nextInt());
        Stu[number].setScore(scanner.nextInt());
        number++;
        System.out.println("添加成功");
        System.out.println("是否继续添加(y/n)");
        if("n".equals(scanner.next()))break;
    }
}
static void show(){
    System.out.println("*******************************************");
    System.out.println(" 学号             姓名                          性别              年龄                成绩");
    for(int i=0;i<number;i++)
        System.out.println(Stu[i].getStuNum()+"\t"+Stu[i].getName()+"\t"+"\t"+Stu[i].getSex()+"\t"+Stu[i].getAge()+"\t"+Stu[i].getScore());
    System.out.println();
}
static void change(){
    System.out.println("请输入你要修改信息的学生学号");
    String Stunumber = scanner.next();
    for (int i = 0; i <number ; i++) {
        if (Stunumber.equals(Stu[i].getStuNum())){
            System.out.println("请输入要修改的学生的信息:学号,姓名,性别,年龄,分数");
            Stu[i].setStuNum(scanner.next());
            Stu[i].setName(scanner.next());
            Stu[i].setSex(scanner.next());
            Stu[i].setAge (scanner.nextInt());
            Stu[i].setScore(scanner.nextInt());
            break;
        }
        if(number == i) System.out.println("没有找到学号相应的学生");
    }
}
static void query() {
    System.out.println("请输入要查询的学生学号");
    String Stunumber = scanner.next();
    int i;
    for (i = 0; i < number; i++) {
        if (Stunumber.equals(Stu[i].getStuNum())) {
            System.out.println("*******************************************");
            System.out.println(" 学号             姓名                          性别              年龄                成绩");
            System.out.println(Stu[i].getStuNum() + "\t" + Stu[i].getName() + "\t" + "\t" + Stu[i].getSex() + "\t" + Stu[i].getAge() + "\t" + Stu[i].getScore());
            System.out.println("*******************************************");
        }
    }
    if (number == i) System.out.println("对不起查无此人");
}
static void delete(){
    System.out.println("请输入要删除的学生的信息:学号,姓名,性别,年龄,分数");
    String Stunumber = scanner.next();
    int m=0 ;
    for (int j = 0; j <number ; j++) {
        if (Stunumber.equals(Stu[j].getStuNum())) break;
        if(number == m) System.out.println("没有找到学号相应的学生");
        for ( ;m<number-1;m++)
            Stu[m]=Stu[m+1];
        number--;
        System.out.println("删除完成");
        System.out.println("是否继续删除");
        if("n".equals(scanner.next()))break;
    }
}
static void quit(){
    System.out.println("退出程序");
}

}

您好,有机会可以看看我的博客
https://blog.csdn.net/qq_52354698/article/details/121582956?spm=1001.2014.3001.5502

怎么又是你,在删除操作的时候啊,你这个break是代表直接退出循环体了,后面的删除操作根本就没有进行,还有就是你这个格式希望你改一下,即便if条件语句后面只有一句话你都尽量打上大括号

img