Java语言实现学生管理系统

目录

题目

代码展示

学生类

方法类

main类

运行展示​编辑


题目

学生管理
设计一个学生信息管理系统,有添加学生,查询学生,删除学生等功能.
要求:1.设计一个类学生类,学生属性有学号,姓名,性别(属性私有权限)  用来存储学生的信息
要求2:实现对学生信息的增删查操作
要求3:使用一个数组存储学生信息,数组上限定为30即可.


启动程序后输出一个菜单让用户选择操作:1.添加学生,2-删除学生,3.查询学生,4-退出
选择添加学生在控制台依次输入学号,姓名,性别等信息,将学生信息存储到一个学生对象中,并将学生对象存储到数组中,数组容量定为30.
删除时,必须输入学号,如果学号对应的学生存在,从数组中删除该学生信息
点击查询时,必须输入学号,如果学号对应的学生存在,输出学生信息即可

代码展示

学生类

package com.ffyc.javaopp.zy.zy4.T4;

/*
   学生类,主要作用,存储学生信息
 */
public class Student {

    private int num;
    private String name;
    private String gender;

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public String getName() {
        return name;
    }

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

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    @Override
    public String toString() {
        return "Student{" +
                "num=" + num +
                ", name='" + name + '\'' +
                ", gender='" + gender + '\'' +
                '}';
    }
}

方法类

package com.ffyc.javaopp.zy.zy4.T4;

import java.util.Scanner;

/*
   学生信息管理类
   在此类中,可以有添加,删除,查询学生信息等功能
 */
public class StudentManage {


    static Scanner scanner = new Scanner(System.in);
    Student[] students = new Student[30];//[null,null,null]
    int size = 0;
    /*
       管理系统主方法
     */
    public void menu(){
        loop:while(true){
            System.out.println("用户选择操作: 1.添加学生,2-删除学生,3.查询学生,4-退出");

            int item = scanner.nextInt();
            switch (item){
                case 1: this.add(); break;
                case 2: this.delete(); break;
                case 3: this.search(); break;
                case 4:  break loop;
            }
        }
    }

    /*
       添加
     */
    public void add(){
        if(size == students.length){
            System.out.println("满了");
            return;
        }else{
            Student student = new Student();
            System.out.println("输入学号");
            student.setNum(scanner.nextInt());
            System.out.println("输入姓名");
            student.setName(scanner.next());
            System.out.println("输入性别");
            //将学生信息存入学生数组中
            student.setGender(scanner.next());
            students[size++]=student;
        }

    }

    /*
      删除
     */
    public void delete(){
        System.out.println("输入学号");
        int num = scanner.nextInt();
        //数组进行遍历
        int index = -1;
        for(int i = 0;i<size;i++){
            if(students[i].getNum()==num) {
                 students[i] = null;
                 size--;
                 index = i;
                //将第index后面的学生向前移动
                for(int j = index;j<size;j++){
                    students[j]=students[j+1];
                }
            }
        }
        if(index == -1){
            System.out.println("不存在");
        }
    }
    /*
      查询
     */
    public void search(){
        System.out.println("输入学号");
        int num = scanner.nextInt();
        /*
          i<size:数组遍历 只需遍历到数组中已经添加入数据的部分,之后的部分无需遍历
                 如果遍历之后没有存入数组的部分,因为没有数据,无法getNum,会报错
         */
        for(int i=0;i<size;i++){
            if(students[i].getNum()==num){
                System.out.println(students[i].toString());
                return;
            }
        }
        System.out.println("不存在");
    }

}

main类

package com.ffyc.javaopp.zy.zy4.T4;

/*
   启动类
 */
public class RunStudentManage {

    public static void main(String[] args) {
         /*1
          创建一个学生信息管理系统对象
          */
        StudentManage studentManager = new StudentManage();
        studentManager.menu();

    }
}

运行展示

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值