用java实现学生管理系统

实现学生管理系统系统前,需要掌握的前期基础知识:

1.输入语句:

-Scanner:输入各种类型数据的方法,如String,int,double,float或引用数据类型....
-System:
 System.out.println();输出语句
 System,in:输入接口
 System.exit();
 System.gc();JVM的垃圾回收器,不占内存

   代码如下:

public class ScannerInputData {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入字符串:");
        String str1=sc.next();
        System.out.println("您输入的是:"+str1);//读取一个字符以空格或回车结尾
        System.out.println("输入一个整数:");
        int num=sc.nextInt();
        sc.nextLine();
        System.out.println("您输入的整数为"+num);
        System.out.println("请输入字符串:");
        String str=sc.nextLine();//读取一行字符串
        System.out.println("您输入的是:"+str);
        double d=sc.nextDouble();
        System.out.println("您输入的是:"+d);

        //nextInt 后面如果是nextLine会直接跳过nextLine的读取


    }
}

 输出结果:

2.数组的运用:

  数据结构(线性表) >  保存数据
1.定义数组   2.利用数组存,取数据

定义数组:数据类型[] 数组名 = new 数据类型[长度];
        数据类型[] 数组名 = {元素,元素,元素};

唯一的属性:length  数组长度

数组的下标:0~长度-1

存数据:数组名[下标] = 数据;

取数据: 数据类型 变量名 = 数组名[下标];
public class ArrayDema {
    public static void main(String[] args) {
        // 定义数组:
        int [] arr = new int[20];
        // 随机数
        // 存入数据
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (int) (Math.random() * 10);
        }
        // 取出数据查看
        for (int i = 0; i < arr.length; i++) {
            int n = arr[i];
            System.out.print(" " + n);
        }
    }
}

接下来,我们便可以实现简单的学生信息管理系统了:

首先,我们先创建一个User类,用来存储我们所需的数据:id名,用户名,密码以及实现总信息输出的方法

public class User {
    int id;
    String userName;
    String password;

    public String toString(){
        //拼接字符串
        String info="User{id="+id+" ,userName="+userName+", password="+password+"}";
        return info;
    }
}

接下来,创建DataManage类:

属性: 最大数据量 maxSize

            存储数组 User[] userList = new User[maxSize];

            实时的数据个数 size

final int maxSize=100;

    User[] userList=new User[maxSize];

    int size;

方法:

系统启动的方法:

1: 进入主页功能模块

2: 根据用户在主页模块选择的功能做分流 根据选择调用下面的方法之一执行

3:add方法 检测是否具有空闲空间(后续扩展为扩容机制) 需要用户输入用户名 检测用户名是否重复 输入密码 再将账号密码存入一个新的用户对象中 再将用户对象设置好id存入userList中 size++;

4:get方法  :根据需要查询的依据类型: id , name 或 all来得到用户的总信息.

5:remove方法:根据需要查询的依据类型: id , name来删除该学生的信息,值得注意的是,删除该学生的信息后,后续学生的id要依次减去1,size--,以此达到系统的操作合法性

6:update方法:根据需要查询的依据类型: id , name来利用循环取出所需要的对象,利用输入语句更新对象的属性,最后打印全部信息!

7.  exit方法:用于退出系统.

​
public class DataManage {

    final int maxSize=100;

    User[] userList=new User[maxSize];

    int size;

    public void lunch(){
        Scanner sc=new Scanner(System.in);
        while(true) {
            System.out.println("------------------------");
            System.out.println("----欢迎使用数据录入系统----");
            System.out.println("------------------------");
            System.out.println("请输入需要使用功能的指令:" + " \n 增加-add  查询-get  删除remove  更新-update  退出-exit");
            String action = sc.nextLine();
            if (action.equals("add")) {
                add(sc);
            } else if (action.equals("get")) {
                get(sc);
            } else if (action.equals("remove")) {
                remove(sc);
            } else if (action.equals("update")) {
                update(sc);
            } else if (action.equals("exit")) {
                System.exit(0);
            } else {
                System.err.println("--输入无效请重新输入--");
            }
        }
    }

    public void add(Scanner sc){
        if(size>=maxSize){
            System.out.println("当前系统负载已满,无法存入数据!");
            return;
        }
        System.out.println("请输入用户名:");
        String name=sc.nextLine();
        for(int i=0;i<size;i++){
            User user=userList[i];
            if(user.userName.equals(name)){
                System.err.println("已存放该姓名学生的信息!");
                return;
            }
        }
        System.out.println("请输入密码:");
        String pwd=sc.nextLine();

        User user=new User();
        user.userName=name;
        user.password=pwd;
        user.id=size;
        userList[size]=user;
        size++;
        System.out.println("add--ok!");
    }

    public void get(Scanner sc){
        System.out.println("请选择需要查询的依据类型: id | name | all");
        String action=sc.nextLine();
        if(action.equals("id")){
            System.out.println("请输入查询的id:");
            int id=sc.nextInt();
            sc.nextLine();//吸收多余的回车符号!
            for(int i=0;i<size;i++){
                User user=userList[i];
                if(user.id==id){
                    System.out.println(user.toString());
                    System.out.println("--get--ok!");
                    return;//结束查找
                }
            }
            System.out.println("未找到有效数据!");

        }else if(action.equals("name")){
            System.out.println("请输入查询的用户名:");
            String name=sc.nextLine();
            for(int i=0;i<size;i++){
                User user=userList[i];
                if(user.userName.equals(name)){
                    System.out.println(user.toString());
                    System.out.println("--get--ok!");
                    return;//结束查找
                }
            }
            System.out.println("未找到有效数据!");

        } else if (action.equals("all")) {
            String allinfo=" ";
            for(int i=0;i<size;i++) {
                User user = userList[i];
                allinfo+=user.toString() + "\n";
            }
                System.out.println(allinfo);
                System.out.println("--get ok!");
        }else{
            System.out.println("输入有误!");
        }
    }

    public void remove(Scanner sc){
        System.out.println("请选择需要移除学生信息的依据类型: id | name ");
        String action=sc.nextLine();
        if(action.equals("id")){
            System.out.println("请输入id:");
            int id=sc.nextInt();
            sc.nextLine();//吸收多余的回车符号!
            for(int i=0;i<size;i++){
                User user=userList[i];
                if(user.id==id){
                    for(int j=i;j<size-1;j++){
                        userList[j]=userList[j+1];
                        User user1=userList[j];
                        user1.id--;
                    }
                    size--;
                    System.out.println("--remove--ok!");
                    return;//结束查找
                }
            }
            System.out.println("未找到有效数据!");

        }else if(action.equals("name")){
            System.out.println("请输入用户名:");
            String name=sc.nextLine();
            for(int i=0;i<size;i++){
                User user=userList[i];
                if(user.userName.equals(name)){
                    for(int j=i;j<size-1;j++){
                        userList[j]=userList[j+1];
                        User user1=userList[j];
                        user1.id--;
                    }
                    size--;
                    System.out.println("--remove--ok!");
                    return;//结束查找
                }
            }
            System.out.println("未找到有效数据!");

        }else{
            System.out.println("输入有误!");
        }

    }

    public void update(Scanner sc){
        System.out.println("请选择需要更新信息的依据类型: id | name ");
        String action=sc.nextLine();
        if(action.equals("id")){
            System.out.println("请输入被更新学生信息的id:");
            int id=sc.nextInt();
            sc.nextLine();//吸收多余的回车符号!
            System.out.println("请输入新的的姓名:");
            String newname=sc.nextLine();
            System.out.println("请输入新的的密码:");
            String newpwd=sc.nextLine();
            for(int i=0;i<size;i++){
                User user=userList[i];
                if(user.id==id){
                    user.userName=newname;
                    user.password=newpwd;
                    System.out.println(user.toString());
                    System.out.println("--update--ok!");
                    return;//结束查找
                }
            }
            System.out.println("未找到有效数据!");

        }else if(action.equals("name")){
            System.out.println("请输入被修改的学生名:");
            String name=sc.nextLine();
            System.out.println("请输入新的的密码:");
            String newpwd=sc.nextLine();
            for(int i=0;i<size;i++){
                User user=userList[i];
                if(user.userName.equals(name)){
                    user.password=newpwd;
                    System.out.println(user.toString());
                    System.out.println("--update--ok!");
                    return;//结束查找
                }
            }
            System.out.println("未找到有效数据!");

        }else{
            System.out.println("输入有误!");
        }


    }

    public static void main(String[] args){
        DataManage dm=new DataManage();
        dm.lunch();
    }



}

​


 

1、把6个java文件保存到同一文件夹,例如C:\Student.然后将6个java文件分别编译生成相应的字节码(.class)文件,然后,用java 解释器运行主类:C:\Student\java StudentManager 2、使用jar.exe把一些文件压缩成JAR文件,来发布我们的应用程序。我们可以把本java应用程序中涉及到的类文件(*.class)压缩成一个JAR文件,例如StudentManager.jar。 首先,用记事本编写一个清单文件(Manifestfiles): Manifest-Version: 1.0 Main-class: StudentManager Created-By: 1.2.2(Sun Microsystems Inc.) 例如,清单文件命名为moon.mf,保存到C:\Student。 注意:在编写清单文件时,在“Manifest-Version:”和“1.0”之间,“Main-class:”和“StudentManager”之间,以及在“Created-By:”和“1.2.2(Sun Microsystems Inc.)”之间必须有且只有一个空格。 然后,如下生成JAR文件: C:\Student\jar cvfm StudentManager.jar moon.mf *.class 其中,参数C表示要生成一个新的JAR文件;f表示要生成的JAR文件的名字,m表示文件清单文件的名字,v表示生成详细输出到标准输出上。具体运行jar命令请查看 现在就可以将StudentManager.jar拷贝到任何一个安装了java运行环境(jdk版本号须高于1.2.2)的计算机上,只要鼠标双击StudentManager.jar文件就可以运行该java应用程序了。 注意在装了WinRAR解压缩软件的机子上可能不能运行,因此,在发布本系统时,还应该建立一个有如下内容的.bat文件(StudentManager.bat),用记事本编写: javaw -jar StudentManager.jar 保存即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值