图书管理系统--versions1.0

目录

一、项目要求:

二、项目环境

三、项目使用的知识点

四、项目代码

五、项目运行结果

六、项目难点分析


 图书管理系统--versions1.0:

图书管理系统--versions1.0-CSDN博客文章浏览阅读981次,点赞29次,收藏17次。本文使用了变量,数据类型,顺序,选择,循环,数组实现了一个简单的小项目--图书管理系统,其中包括用户管理,图书管理,不同权限管理的内容不同。https://blog.csdn.net/qq_53483101/article/details/135583634?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/qq_53483101/article/details/135583634?spm=1001.2014.3001.5501

图书管理系统--versions2.0:

图书管理系统--versions2.0-CSDN博客文章浏览阅读1k次,点赞35次,收藏19次。本文使用了变量,数据类型,顺序,选择,循环,数组,对象及属性的封装实现了一个简单的小项目--图书管理系统,其中包括用户管理,图书管理,不同权限管理的内容不同。https://blog.csdn.net/qq_53483101/article/details/135728923?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/qq_53483101/article/details/135728923?spm=1001.2014.3001.5501

图书管理系统--versions3.0:

图书管理系统(ArrayList和LinkedList)--versions3.0-CSDN博客本文使用了变量,数据类型,顺序,选择,循环,对象及属性的封装,使用ArrayList和LinkedList集合,实现了一个简单的小项目--图书管理系统,其中包括用户管理,图书管理,不同权限管理的内容不同。https://blog.csdn.net/qq_53483101/article/details/135939196?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/qq_53483101/article/details/135939196?spm=1001.2014.3001.5501

 图书管理系统--versions4.0:图书管理系统(使用IO流实现数据的读取和写入)--version4.0-CSDN博客文章浏览阅读342次,点赞8次,收藏9次。使用io实现图书管理系统中管理员用户、普通用户、书籍信息的读取和写入。https://blog.csdn.net/qq_53483101/article/details/136306379?spm=1001.2014.3001.5501


一、项目要求:

1)通过账号控制图书管理系统,账号分为管理员账号和普通用户账号

       1. 管理员账号和普通用户账号都可以使用手机号码+密码、身份证号码+密码的形式登录,登录方式二选一

       2.管理员账号和普通账号除了手机号码、身份中号码、密码三个数据之外,还有姓名、性别、专业、住址信息

2)启动系统后,显示登录账号、注册账号、退出登录三个模块

登录账号:

  1. 显示管理员登录
  2. 用户登录两个模块

注册账号:

  1. 显示注册管理员
  2. 注册用户两个模块

退出登录:

        结束程序运行

3)登录账号成功后,根据账号的性质来显示不同的模块:

登录管理员账号成功后,显示如下模块:

  1. 查看所有图书,图书显示哪些信息,这里设计的信息有书名,书的价格,书的数量
  2. 添加图书
  3. 修改图书 
  4. 删除图书
  5. 查看所有普通用户信息
  6. 查看管理员账号信息
  7. 修改管理员账号信息
  8. 退出系统

登录普通账号成功后,显示如下模块:

  1. 查看所有图书,图书显示哪些信息,你自行设计
  2. 借阅图书
  3. 归还图书
  4. 显示用户信息(只能查看自己的用户信息)
  5. 修改用户信息(只能修改自己的用户信息)
  6. 退出系统

二、项目环境

(1)开发工具:IDEA、JDK17
(2)开发语言:Java

三、项目使用的知识点

(1)理解程序基本概念——程序、变量、数据类型
(2)顺序、选择、循环、跳转语句
(3)数组

四、项目代码

        这里说明一下,为了快速写出项目,前面的用户管理的八个属性均采用String类型存储,方便自己后续代码的编写及相关功能的实现,有不足或者想要自己实现的功能部分读者可以自行修改代码实现。

package com.code;

import java.util.Scanner;

/**
 * @Author @南初
 * @Create 2024/1/12 14:27
 * @Version 1.0
 */
public class BooksManagementSystem {

    public static void main(String[] args) {

        Scanner scan =new Scanner(System.in);

        // 管理员 普通用户
//        管理员账号和普通用户账号都可以使用手机号码+密码、身份证号码+密码的形式登录
//        管理员账号和普通账号除了手机号码、身份中号码、密码三个数据之外,还有姓名、性别、专业、住址信息
        String[] adminUser = new String[3];
        String[] normalUser =new String[8];
        //  使用二维数组存储   手机号码+密码、身份证号码    手机和身份证公用一个密码
        String[] adminPhoneNumber =new String[3];
        String[] adminIdentityNumber = new String[3];
        String[] adminPassword =new String[3];

        String[] normalPhoneNumber =new String[8];
        String[] normalIdentityNumber = new String[8];
        String[] normalPassword =new String[8];

        //      姓名、性别、专业、住址信息
        String[] adminName = new String[3];
        String[] adminSex = new String[3];
        String[] adminCareer =new String[3];
        String[] adminAddress =new String[3];

        String[] normalName = new String[8];
        String[] normalSex = new String[8];
        String[] normalCareer =new String[8];
        String[] normalAddress =new String[3];
        // 开始各初始化一个管理员和普通用户
        adminUser[0] = "root";
        adminPhoneNumber[0] ="1111";
        adminIdentityNumber[0] ="2222";
        adminPassword[0] ="123456";
        adminName[0] = "张三";
        adminSex[0] = "男";
        adminCareer[0] ="计算机";
        adminAddress[0] ="安徽";


        normalUser[0] = "normal";
        normalPhoneNumber[0] ="1234";
        normalIdentityNumber[0] ="5678";
        normalPassword[0] ="654321";
        normalName[0] ="梦洛";
        normalSex[0] = "女";
        normalCareer[0] ="艺术";
        normalAddress[0]="北京";

        // 定义图书相关变量
        String[] bookName =new String[20];
        double[] bookPrice =new double[20];
        int[] bookNum =new int[20];

        bookName[0] = "JAVA";
        bookPrice[0] =30.0;
        bookNum[0] =20;

        bookName[1] = "Python";
        bookPrice[1] =25.0;
        bookNum[1] =20;

        bookName[2] = "C语言程序设计";
        bookPrice[2] =35.0;
        bookNum[2] =20;

        int numone1=0;   //记录管理员个数
        int numone2=0;  //记录普通用户数量
        int BOOKNUM=2;  // 记录书本类型数量

        while(true){
            System.out.println("----------------请选择登录方式----------------");
            System.out.println("             1、登录账号");
            System.out.println("             2、注册账号");
            System.out.println("             3、退出登录");
            System.out.print("请输入要选择要操作的序号(只能输入1,2,3):");
            int loginNum =scan.nextInt();
            //  校验输入的序号,只能是1到3
            while(true){
                if(loginNum == 1||loginNum == 2 ||loginNum == 3){
                    break;
                }else{
                    System.out.print("请输入要选择要操作的序号(只能输入1,2,3):");
                    loginNum =scan.nextInt();
                }
            }

            switch(loginNum){
                case 1:
                    System.out.println("********欢迎进入登录账号页面********");
                    System.out.println("1.管理员登录:");
                    System.out.println("2.普通用户登录:");
                    System.out.print("请输入要选择要操作的序号(只能输入1,2):");
                    int enterNum =scan.nextInt();  //enterNum登录数字  1.管理员  2.用户
                    while(true){
                        if(enterNum == 1||enterNum == 2 ){
                            break;
                        }else{
                            System.out.print("输入错误,请从从新输入要选择要操作的序号(只能输入1,2):");
                            enterNum =scan.nextInt();
                        }
                    }

                    if(enterNum==1) {
                        System.out.print("请输入你要登录的形式(1.手机号码+密码 2.身份证号码+密码):");
                        int verifyNum = scan.nextInt();  //verifyNum  验证方式数字
                        //只能选择一种登录方式
                        while (true) {
                            if (verifyNum == 1 || verifyNum == 2) {
                                break;
                            } else {
                                System.out.print("\n输入错误,请输入要选择要操作的序号(只能输入1,2):");
                                verifyNum = scan.nextInt();
                            }
                        }
                        //   1.手机号码+密码   2.身份证号码+密码
                        System.out.print("请输入你要登录的管理员序号:");
                        int adminnumone = scan.nextInt();  //  登录管理员账号序号
                        if (verifyNum == 1) {    // 管理员用户
                            //  管理员登录验证     手机号码+密码
                            System.out.println("\n请输入你的验证信息:");
                            while(true){
                                if(adminUser[adminnumone]==null){
                                    System.out.print("\n你输入的管理员用户不存在,请重新输入,");
                                    adminnumone = scan.nextInt();
                                }else{
                                    break;
                                }
                            }
                            System.out.print("\n请输入管理员账号(默认root):");
                            String adminUser1 = scan.next();
                            System.out.print("\n请输入手机号码");
                            String adminPhoneNumber1 = scan.next();
                            System.out.print("\n请输入密码:");
                            String adminPassword1 = scan.next();
                            while (true) {
                                if (adminUser1.equals(adminUser[adminnumone]) && adminPhoneNumber1.equals(adminPhoneNumber[adminnumone]) && adminPassword1.equals(adminPassword[adminnumone])) {
                                    break;
                                } else {
                                    System.out.println("输入信息错误,请重新输入信息!");
                                    System.out.print("请输入管理员账号序号(默认root):");
                                    adminUser1 = scan.next();
                                    System.out.print("\n请输入手机号码:");
                                    adminPhoneNumber1 = scan.next();
                                    System.out.print("\n请输入密码:");
                                    adminPassword1 = scan.next();
                                }
                            }
                        } else if (verifyNum == 2) {   //  管理员登录验证     身份证号码+密码
                            System.out.print("请输入账号(默认root):");
                            String adminUser2 = scan.next();
                            System.out.print("\n请输入身份证号码:");
                            String adminIdentityNumber2 = scan.next();
                            System.out.print("\n请输入密码:");
                            String adminPassword2 = scan.next();
                            while (true) {
                                if (adminUser2.equals(adminUser[adminnumone]) && adminIdentityNumber2.equals(adminPhoneNumber[adminnumone]) && adminPassword2.equals(adminPassword[adminnumone])) {
                                    break;
                                } else {
                                    System.out.println("输入信息错误,请重新输入信息!");
                                    System.out.print("请输入账号(默认root):");
                                    adminUser2 = scan.next();
                                    System.out.print("\n请输入手机号码");
                                    adminIdentityNumber2 = scan.next();
                                    System.out.print("\n请输入密码:");
                                    adminPassword2 = scan.next();
                                }
                            }
                        }

                        while(true){
                            System.out.println("\n-----------欢迎进入管理员账号页面-----------");
                            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("8、退出系统");
                            System.out.print("请输入你选择的功能");
                            int adminnum = scan.nextInt();  // adminnum  管理员账号页面功能查看
                            while(true){
                                if(adminnum>=1&&adminnum<=8){
                                    break;
                                }else{
                                    System.out.print("输入错误,请重新输入你选择的功能:");
                                    adminnum = scan.nextInt();
                                }
                            }
                            if(adminnum ==1){               //1、查看所有图书
                                System.out.println("序号\t\t书名\t\t价格\t\t数量");
                                for(int i=0;i<=BOOKNUM;i++){
                                    System.out.println(i+"\t\t"+bookName[i]+"\t\t"+bookPrice[i]+"\t\t"+bookNum[i]);
                                }
                                continue;
                            } else if (adminnum==2) {      //2、添加图书
                                ++BOOKNUM;
                                System.out.print("请输入图书名:");
                                String bookname = scan.next();
                                bookName[BOOKNUM] =bookname;
                                System.out.print("请输入图书价格:");
                                double bookprice = scan.nextDouble();
                                bookPrice[BOOKNUM] =bookprice;
                                System.out.print("请输入图书数量:");
                                int booknum = scan.nextInt();
                                bookNum[BOOKNUM] =booknum;
                                continue;

                            } else if (adminnum==3) {    //3、修改图书      //这里设计的是符合图书序号的所有图书信息都可以修改
                                System.out.print("请输入修改图书序号,目前在册图书种类(0~"+BOOKNUM+"):");
                                int order=scan.nextInt();  //修改图书序号
                                while(true){
                                    if(order>=0&&order<=BOOKNUM){
                                        break;
                                    }else {
                                        System.out.println("输入错误,请输入(0~"+BOOKNUM+")内数字:");
                                        order=scan.nextInt();
                                    }
                                }

                                System.out.print("\n请输入图书名:");
                                String bookname = scan.next();
                                bookName[order] =bookname;
                                System.out.print("\n请输入图书价格:");
                                double bookprice = scan.nextDouble();
                                bookPrice[order] =bookprice;
                                System.out.print("\n请输入图书数量:");
                                int booknum = scan.nextInt();
                                bookNum[order] =booknum;
                                continue;

                            } else if (adminnum==4) {    //4、删除图书
                                System.out.println("请输入删除图书序号:");
                                int order=scan.nextInt();  //修改图书序号

                                if(order>=0&&order<BOOKNUM){
                                    for(int i=order;i<BOOKNUM; i++){
                                        bookName[i] = bookName[i+1];
                                        bookPrice[i]=bookPrice[i+1];
                                        bookNum[i]=bookNum[i+1];
                                    }
                                    BOOKNUM--;
                                } else if (order == BOOKNUM) {
                                    bookName[order] = null;     // 防止数据残留导致出现的问题
                                    bookPrice[order]=0;
                                    bookNum[order]=0;
                                    BOOKNUM--;
                                }

                                continue;
                            } else if (adminnum==5) {    //5、查看所有普通用户信息
                                System.out.println("所有普通用户信息如下:");
                                System.out.println("账户名\t\t"+"手机号\t\t"+"身份证号\t\t"+"密码\t\t"+"姓名\t\t"+"性别\t\t"+"专业\t\t"+"住址\t\t");
                                for(int i=0;i<=numone2;i++){
                                    System.out.println(
                                            normalUser[i]+"\t\t"+normalPhoneNumber[i]+"\t\t"+
                                                    normalIdentityNumber[i]+"\t\t"+normalPassword[i]+"\t\t"+
                                                    normalName[i]+"\t\t"+normalSex[i]+"\t\t"+
                                                    normalCareer[i]+"\t\t"+normalAddress[i]);
                                }
                                continue;

                            } else if (adminnum==6) {    //6、查看管理员账号信息
                                System.out.println("目前共有管理员账号:"+numone1+"个");
                                System.out.println("所有管理员账号信息如下");
                                //账户名、手机号、身份证号、密码、姓名、性别、专业、住址信息
                                System.out.println("账户名\t\t"+"手机号\t\t"+"身份证号\t\t"+"密码\t\t"+"姓名\t\t"+"性别\t\t"+"专业\t\t"+"住址\t\t");
                                for(int i=0;i<=numone1;i++){
                                    System.out.println(
                                            adminUser[i]+"\t\t"+adminPhoneNumber[i]+"\t\t"+
                                                    adminIdentityNumber[i]+"\t\t"+adminPassword[i]+"\t\t"+
                                                    adminName[i]+"\t\t"+adminSex[i]+"\t\t"+
                                                    adminCareer[i]+"\t\t"+adminAddress[i]);
                                }
                                continue;
                            } else if (adminnum==7) {    //7、修改管理员账号信息

                                System.out.println("请输入要修改管理员账号的的信息(1管理员账号名2手机号码3" +
                                        "身份证号码4密码5姓名6性别7专业8住址信息):");
                                int adminchange =scan.nextInt();   // adminchange  修改序号
                                if(adminchange==1){                  // 管理员账号名
                                    System.out.print("\n请输入新的管理员账户名:");
                                    String adminuser = scan.next();
                                    adminUser[adminnumone] = adminuser;
                                } else if (adminchange==2) {        // 手机号码
                                    System.out.print("\n请输入新的手机号码:");
                                    String adminphonenumber = scan.next();
                                    adminPhoneNumber[adminnumone] = adminphonenumber;
                                } else if (adminchange==3) {        // 身份证号码
                                    System.out.print("\n请输入新的身份证号码:");
                                    String adminidentitynumber = scan.next();
                                    adminIdentityNumber[adminnumone] = adminidentitynumber;
                                } else if (adminchange==4) {        // 密码
                                    System.out.print("\n请输入新的密码:");
                                    String adminpassword = scan.next();
                                    adminPassword[adminnumone] = adminpassword;
                                } else if (adminchange==5) {        // 姓名
                                    System.out.print("\n请输入新的姓名:");
                                    String adminname = scan.next();
                                    adminName[adminnumone] = adminname;
                                } else if (adminchange==6) {        // 性别
                                    System.out.print("\n请输入新的性别:");
                                    String adminsex= scan.next();
                                    adminSex[adminnumone] = adminsex;
                                } else if (adminchange==7) {        // 专业
                                    System.out.print("\n请输入新的专业:");
                                    String adminaddress= scan.next();
                                    adminAddress[adminnumone] = adminaddress;
                                } else if (adminchange==8) {        // 住址信息
                                    System.out.print("\n请输入新的住址信息:");
                                    String adminaddress = scan.next();
                                    adminAddress[adminnumone] = adminaddress;
                                }
                                continue;
                            }else if (adminnum==8){      //8、退出系统
                                System.out.println("谢谢使用,欢迎下次光临!");
                                System.exit(0);;
                            }
                        }
                    } else if(enterNum == 2){   //普通用户
                        //  普通用户登录验证
                        System.out.print("请输入你要登录的形式(1.手机号码+密码 2.身份证号码+密码):");
                        int verifyNum = scan.nextInt();  //verifyNum  验证方式数字
                        //只能选择一种登录方式
                        while (true) {
                            if (verifyNum == 1 || verifyNum == 2) {
                                break;
                            } else {
                                System.out.print("\n输入错误,请重新输入要选择要操作的序号(只能输入1,2):");
                                verifyNum = scan.nextInt();
                            }
                        }
                        System.out.print("请输入你要登录的普通用户序号:");
                        int normalnumone = scan.nextInt();  //  登录普通用户账号序号
                        //   1.手机号码+密码   2.身份证号码+密码
                        if (verifyNum == 1) {    // 普通用户
                            //  普通用户登录验证     手机号码+密码
                            System.out.print("\n请输入管理员账号(默认normal):");
                            String normalUser1 = scan.next();
                            System.out.print("\n请输入手机号码");
                            String normalPhoneNumber1 = scan.next();
                            System.out.print("\n请输入密码:");
                            String normalPassword1 = scan.next();
                            while (true) {
                                if (normalUser1.equals(normalUser[normalnumone]) && normalPhoneNumber1.equals(normalPhoneNumber[normalnumone]) && normalPassword1.equals(normalPassword[normalnumone])) {
                                    break;
                                } else {
                                    System.out.println("输入信息错误,请重新输入!");
                                    System.out.print("\n请输入管理员账号序号(默认normal):");
                                    normalUser1 = scan.next();
                                    System.out.print("\n请输入手机号码:");
                                    normalPhoneNumber1 = scan.next();
                                    System.out.print("\n请输入密码:");
                                    normalPassword1 = scan.next();
                                }
                            }
                        } else if (verifyNum == 2) {   //  普通用户登录验证     身份证号码+密码
                            System.out.print("\n请输入账号(默认normal):");
                            String normalUser2 = scan.next();
                            System.out.print("\n请输入身份证号码:");
                            String normalIdentityNumber2 = scan.next();
                            System.out.print("\n请输入密码:");
                            String normalPassword2 = scan.next();
                            while (true) {
                                if (normalUser2.equals(normalUser[normalnumone]) && normalIdentityNumber2.equals(normalPhoneNumber[normalnumone]) && normalPassword2.equals(normalPassword[normalnumone])) {
                                    break;
                                } else {
                                    System.out.println("输入信息错误,请重新输入!");
                                    System.out.print("\n请输入账号:");
                                    normalUser2 = scan.next();
                                    System.out.print("\n请输入手机号码:");
                                    normalIdentityNumber2 = scan.next();
                                    System.out.print("\n请输入密码:");
                                    normalPassword2 = scan.next();
                                }
                            }
                        }

                        while(true){
                            System.out.println("\n-----------普通用户登录成功-----------");
                            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.print("请输入你需要操作功能的数字:");
                            int onetwo1 = scan.nextInt();   //  选择功能数字
                            if(onetwo1==1){                 //  1.查看所有图
                                System.out.println(" \t\t书名\t\t价格\t\t数量");
                                for(int i=0;i<=BOOKNUM;i++){
                                    System.out.println(i+"\t\t"+bookName[i]+"\t\t"+bookPrice[i]+"\t\t"+bookNum[i]);
                                }
                                continue;
                            } else if (onetwo1==2) {        //  2.借阅图书
                                System.out.print("\n请输入你要借阅图书序号:");
                                int numbook = scan.nextInt();
                                System.out.print("\n该图书还有"+bookNum[numbook]+"本");
                                System.out.print("\n请输入你要借的图书数量:");
                                int nums = scan.nextInt();   //  借阅数量
                                if((bookNum[numbook]-nums)>=0){
                                    bookNum[numbook] -=nums ;
                                    System.out.print("\n恭喜你借阅成功,该图书还剩余"+bookNum[numbook]+"本\n");
                                }else{
                                    System.out.print("\n很遗憾,该图书已经全被借阅!");
                                }
                                continue;
                            } else if (onetwo1==3) {        //  3.归还图书
                                System.out.print("\n请输入你要归还图书序号:");
                                int givenumbook = scan.nextInt();
                                System.out.print("\n该图书目前剩余"+bookNum[givenumbook]+"本");
                                System.out.print("\n请输入归还书本数目:");
                                int givenum = scan.nextInt();
                                System.out.print("\n恭喜你归还成功,现剩余该图书"+(bookNum[givenumbook]+=givenum)+"本");
                                continue;
                            } else if (onetwo1==4) {        //  4.显示用户信息(只能查看自己的用户信息)
                                System.out.print("\n个人用户信息如下:");
                                System.out.println("账户名\t\t"+"手机号\t\t"+"身份证号\t\t"+"密码\t\t"+"姓名\t\t"+"性别\t\t"+"专业\t\t"+"住址\t\t");
                                System.out.println(
                                        normalUser[normalnumone]+"\t\t"+normalPhoneNumber[normalnumone]+"\t\t"+
                                                normalIdentityNumber[normalnumone]+"\t\t"+normalPassword[normalnumone]+"\t\t"+
                                                normalName[normalnumone]+"\t\t"+normalSex[normalnumone]+"\t\t"+
                                                normalCareer[normalnumone]+"\t\t"+normalAddress[normalnumone]);

                            } else if (onetwo1==5) {        //  5.修改用户信息(只能修改自己的用户信息)
                                System.out.print("\n请输入你要修改的信息的选项(1普通用户账号名2手机号码" +
                                        "3身份证号码4密码5姓名6性别7专业8住址信息):");
                                int  normalchange =scan.nextInt();   //  normalchange  修改序号
                                if(normalchange ==1){                  // 管理员账号名
                                    System.out.print("\n请输入新的管理员账户名:");
                                    String normaluser = scan.next();
                                    normalUser[normalnumone] = normaluser;
                                } else if (normalchange ==2) {        // 手机号码
                                    System.out.print("\n请输入新的手机号码:");
                                    String normalphonenumber = scan.next();
                                    normalPhoneNumber[normalnumone] = normalphonenumber;
                                } else if (normalchange ==3) {        // 身份证号码
                                    System.out.print("\n请输入新的身份证号码:");
                                    String normalidentitynumber = scan.next();
                                    normalIdentityNumber[normalnumone] = normalidentitynumber;
                                } else if (normalchange ==4) {        // 密码
                                    System.out.print("\n请输入新的密码:");
                                    String normalpassword = scan.next();
                                    normalPassword[normalnumone] = normalpassword;
                                } else if (normalchange ==5) {        // 姓名
                                    System.out.print("\n请输入新的姓名:");
                                    String normalname = scan.next();
                                    normalName[normalnumone] = normalname;
                                } else if (normalchange ==6) {        // 性别
                                    System.out.print("\n请输入新的性别:");
                                    String normalsex= scan.next();
                                    normalSex[normalnumone] = normalsex;
                                } else if (normalchange ==7) {        // 专业
                                    System.out.print("\n请输入新的专业:");
                                    String normalcareer= scan.next();
                                    normalCareer[normalnumone] = normalcareer;
                                } else if (normalchange ==8) {        // 住址信息
                                    System.out.print("\n请输入新的住址信息:");
                                    String normaladdress = scan.next();
                                    normalAddress[normalnumone] =  normaladdress;
                                }
                                continue;
                            } else if (onetwo1==6) {        //  6.退出系统
                                System.out.print("\n谢谢使用,欢迎下次光临!");
                                System.exit(0);;
                            }
                        }

                    }
                case 2:       // 这里注册结束回到系统刚进入页面
                    System.out.println("********欢迎进入注册账号页面********");
                    System.out.println("1.管理员注册:");
                    System.out.println("2.普通用户注册:");
                    System.out.print("请输入要选择要操作的序号(只能输入1,2):");
                    int registernum   = scan.nextInt();               //注册管理员或者普通用户
                    while(true){
                        if(registernum>0||registernum<3){
                            break;
                        }else {
                            System.out.println("输入序号错误,请重新输入要操作的序号(只能输入1,2)");
                            registernum   = scan.nextInt();
                        }
                    }
                    if(registernum == 1){                // 注册管理员
                        numone1+=1;
                        System.out.print("------管理员注册页面------");

                        System.out.print("\n请输入新的管理员账户名:");
                        String adminuser = scan.next();
                        adminUser[numone1] = adminuser;

                        System.out.print("\n请输入新的手机号码:");
                        String adminphonenumber = scan.next();
                        adminPhoneNumber[numone1] = adminphonenumber;

                        System.out.print("\n请输入新的身份证号码:");
                        String adminidentitynumber = scan.next();
                        adminIdentityNumber[numone1] = adminidentitynumber;

                        System.out.print("\n请输入新的密码:");
                        String adminpassword = scan.next();
                        adminPassword[numone1] = adminpassword;

                        System.out.print("\n请输入新的姓名:");
                        String adminname = scan.next();
                        adminName[numone1] = adminname;

                        System.out.print("\n请输入新的性别:");
                        String adminsex= scan.next();
                        adminSex[numone1] = adminsex;

                        System.out.print("\n请输入新的专业:");
                        String admincareer= scan.next();
                        adminCareer[numone1] = admincareer;

                        System.out.print("\n请输入新的住址信息:");
                        String adminaddress = scan.next();
                        adminAddress[numone1] = adminaddress;

                        System.out.println(
                                adminUser[numone1]+"\t\t"+adminPhoneNumber[numone1]+"\t\t"+
                                        adminIdentityNumber[numone1]+"\t\t"+adminPassword[numone1]+"\t\t"+
                                        adminName[numone1]+"\t\t"+adminSex[numone1]+"\t\t"+
                                        adminCareer[numone1]+"\t\t"+adminAddress[numone1]);

                        System.out.println("注册结束!");
                        continue;


                    } else if (registernum == 2) {       // 注册用户
                        numone2+=1;
                        System.out.print("------普通用户注册页面------");

                        System.out.print("\n请输入新的管理员账户名:");
                        String normaluser = scan.next();
                        normalUser[numone2] = normaluser;

                        System.out.print("\n请输入新的手机号码:");
                        String normalphonenumber = scan.next();
                        normalPhoneNumber[numone2] = normalphonenumber;

                        System.out.print("\n请输入新的身份证号码:");
                        String normalidentitynumber = scan.next();
                        normalIdentityNumber[numone2] = normalidentitynumber;

                        System.out.print("\n请输入新的密码:");
                        String normalpassword = scan.next();
                        normalPassword[numone2] = normalpassword;

                        System.out.print("\n请输入新的姓名:");
                        String normalname = scan.next();
                        normalName[numone2] = normalname;

                        System.out.print("\n请输入新的性别:");
                        String normalsex= scan.next();
                        normalSex[numone2] = normalsex;

                        System.out.print("\n请输入新的专业:");
                        String normalcareer= scan.next();
                        normalCareer[numone2] = normalcareer;

                        System.out.print("\n请输入新的住址信息:");
                        String normaladdress = scan.next();
                        normalAddress[numone2] = normaladdress;
                        System.out.println(
                                normalUser[numone2]+"\t\t"+normalPhoneNumber[numone2]+"\t\t"+
                                        normalIdentityNumber[numone2]+"\t\t"+normalPassword[numone2]+"\t\t"+
                                        normalName[numone2]+"\t\t"+normalSex[numone2]+"\t\t"+
                                        normalCareer[numone2]+"\t\t"+normalAddress[numone2]);

                        System.out.println("注册结束!");
                        continue;
                    }

                case 3:
                    System.out.println("谢谢使用,欢迎下次光临!");
                    System.exit(0);;
            }
        }
    }
}

五、项目运行结果

说明一下:这里并没有校验输入数据限制,是没写,太麻烦了,读者想要校验输入格式可以自行实现。

这里输入的数字均是int类型,输入其他类型数据可能直接报错退出程序。

注册管理员部分:

注册普通用户

管理员登录:

管理员页面:

管理员八个功能展示:

说明:功能没有截图完全,其余功能实现,读者可以自行运行实现查看。

六、项目难点分析

1、 使用数组对象保存图书和用户信息

        1) 根据项目需求分析可知,管理员用户和普通用户都有八个属性,分别是:账号,手机号码,身份证号码,密码,姓名,性别,专业,住址信息。可以使用数组来保存多条相同类型的信息。

        2)定义8个数组分别保存用户信息。

        3)各个数组中下标表示相同的元素表示一个用户数据。

	  // 定义图书相关变量
       String[] bookName =new String[20];
       double[] bookPrice =new double[20];
       int[] bookNum =new int[20];
       // 管理员 普通用户
     //        管理员账号和普通用户账号都可以使用手机号码+密码、身份证号码+密码的形式登录
     //        管理员账号和普通账号除了手机号码、身份中号码、密码三个数据之外,还有姓名、性别、专业、住址信息
        String[] adminUser = new String[3];
        String[] normalUser =new String[8];
        //  使用二维数组存储   手机号码+密码、身份证号码    手机和身份证公用一个密码
        String[] adminPhoneNumber =new String[3];
        String[] adminIdentityNumber = new String[3];
        String[] adminPassword =new String[3];

        String[] normalPhoneNumber =new String[8];
        String[] normalIdentityNumber = new String[8];
        String[] normalPassword =new String[8];
        //      姓名、性别、专业、住址信息
        String[] adminName = new String[3];
        String[] adminSex = new String[3];
        String[] adminCareer =new String[3];
        String[] adminAddress =new String[3];
        String[] normalName = new String[8];
        String[] normalSex = new String[8];
        String[] normalCareer =new String[8];
        String[] normalAddress =new String[3];

        // 初始化一组管理员账号和普通用户账号信息
        adminUser[0] = "root";
        adminPhoneNumber[0] ="1111";
        adminIdentityNumber[0] ="2222";
        adminPassword[0] ="123456";
        adminName[0] = "张三";
        adminSex[0] = "男";
        adminCareer[0] ="计算机";
        adminAddress[0] ="安徽";
        int numone1=1;   //记录管理员个数

        normalUser[0] = "normal";
        normalPhoneNumber[0] ="1234";
        normalIdentityNumber[0] ="5678";
        normalPassword[0] ="654321";
        normalName[0] ="梦洛";
        normalSex[0] = "女";
        normalCareer[0] ="艺术";
        normalAddress[0]="北京";
        int numone2=1;  //记录普通用户数量

2、校验功能数字是自己规定的数字

        使用while(true){}循环实现,在循环体中设置只有输入规定数字才能跳出循环,执行后面的代码。

      System.out.print("请输入要选择要操作的序号(只能输入1,2):");
      int enterNum =scan.nextInt();  //enterNum登录数字  1.管理员  2.用户
      while(true){
            if(enterNum == 1||enterNum == 2 ){
                break;
            }else{
                System.out.print("输入错误,请从从新输入要选择要操作的序号(只能输入1,2):");
                enterNum =scan.nextInt();
             }
      }

3、明确变量的定义域

要清楚自己定义的变量作用的范围:

        在Java中,变量的作用域决定了变量在程序中可见的范围。如果一个变量被定义在一个代码块内部,那么它的作用域就被限制在该代码块内部。如果一个变量被定义在方法内部,那么它的作用域就被限制在该方法内部。如果一个变量被定义在类内部但方法之外,那么它的作用域就是整个类。

        这里要注意的是,作用范围大的变量,例如adminUser、bookName...等等,要定义在整个循环体的外面,若是定义在while(){}、for(;;){}、do{}while()三种循环和if(){}else{}、switch(){}选择语句中变量,作用域只能在循环体或者选择语句中,只用在循环体或者选择语句中使用,此范围之外,不能使用,或者可能出现操作该变量失效的现象。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值