Java程序(升级版):实现简易的学生信息管理系统(若有错误理解,请多指教)

实现功能:

增、删、查(全体、个人)、改、排(按分数)、退
俺在代码注释得很详细,在这里就不多说了。

知识点:

类数组对象、this、Scanner类获取输入、for循环、switch...case..default..、break

复现步骤:

1.建立package:StudentManage
2.在package下建立class:Stu(主要是学生信息获取,不建议修改类名及其内容)
3.在package下建立class:Demo(主要包括系统功能实现,可以自己改一下类名)

附代码:

(各位看官有钱的捧个钱场,没钱的捧个人场,,空闲的捧个留场,喜欢的捧个情场)
Stu:

package StudentManage;

public class Stu {
    String StuNum;//学号
    String Name;//姓名
    String Gender;//性别
    int Age;//年龄
    int Score;//分数
    //将Demo.java中输入的学生学号、姓名、性别、年龄、分数以形参的方式传给实参
    public void setStuNum(String Stunum) {
        this.StuNum = Stunum;
    }
    public void setName(String Name){
        this.Name = Name;
    }
    public void setGender(String Gender){
        this.Gender = Gender;
    }
    public void setAge(int Age){
        this.Age = Age;
    }
    public void setScore(int Score){
        this.Score = Score;
    }
    //以下的get方法分别获取到学生学号、姓名、性别、年龄、分数
    public String getStuNum(){
        return StuNum;
    }
    public String getName() {
        return Name;
    }
    public String getGender(){
        return Gender;
    }
    public int getAge(){
        return Age;
    }
    public int getScore(){
        return Score;
    }
}

Demo:

package StudentManage;
import java.util.Scanner;

public class Demo {

    static Stu[] Stu=new Stu[100];
    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.学生信息查询");
            System.out.println("7.退出");
            System.out.println("请输入你要进行的操作");
            choice=scanner.nextInt();//输入选择菜单
            switch(choice){
                case 1:     add(); break;//添加学生信息
                case 2:     show();break;//查询全体学生信息
                case 3:     change();break;//修改学生信息
                case 4:     delete();break;//删除学生信息
                case 5:     paixu();break;//对学生信息排序
                case 6:     query();break;//查询个别学生信息
                case 7:     System.out.println("感谢使用");break;
                default:    System.out.println("输入有误,请重新输入");
            }
        }
    }
    static void add(){//添加学生信息
        while(true){                //循环添加
            System.out.println("输入任意字母、数字或符号添加学生信息,停止添加输入0");
            if(scanner.next()=="0")break;
            System.out.println("请输入该学生的学号,姓名,性别,年龄,成绩");
            Stu[number]=new Stu();
            Stu[number].setStuNum(scanner.next());       //输入学号
            Stu[number].setName(scanner.next());        //输入姓名
            Stu[number].setGender(scanner.next());      //输入性别
            Stu[number].setAge(scanner.nextInt());      //输入年龄
            Stu[number].setScore(scanner.nextInt());    //输入分数(整数)
            number++;
            System.out.println("添加成功");
        }
    }
    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].getGender()+"\t"+Stu[i].getAge()+"\t"+Stu[i].getScore());}
        System.out.println("*******************************************");
        System.out.println();
        
    }
    static void paixu(){//对学生信息进行排序
        int j;
        Stu temp=new Stu();
        for(int i=0;i<number;i++) {
            for(j=i+1;j<number;j++)         //按照分数排序
                if(Stu[i].getScore()>Stu[j].getScore())
                {temp=Stu[i];Stu[i]=Stu[j];Stu[j]=temp;}
        }
        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].setGender(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"+Stu[i].getGender()+"\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 i;
        for( i=0;i<number;i++){
            if(Stunumber.equals(Stu[i].getStuNum()))break;
        if(number==i)System.out.println("对不起查无此人");    //遍历完还没发现该学号
        for(;i<number-1;i++)
            Stu[i]=Stu[i+1];          //将匹配到的学生的后面的学生信息向前移,后一个覆盖前一个,相当于只删掉了匹配的学生信息
        number--;                        //删除完成后,学生总数减1
        System.out.println("删除完成");
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容