图书管理系统的简易实现(初学JAVA者)

1.需要懂得String类

/*
* String字符串:存储多个字符的数据类型,它是引用数据类型。
    格式: String 变量名 =”变量值“;
    * 比较字符串内容是否相等:字符串.equals(相比较的字符串)。
    * equals方法左右 无论是变量名还是字符串内容,都可以进行比较。
* * */
public class StringDemo {
    //主方法
    public static void main(String[] args) {
        //使用String
        String name="HelloJava";

        //输出内容
        /*System.out.println(name);

        System.out.println("---------------------");
        //字符串拼接
        System.out.println("你好Java\n"+name);

        System.out.println("----------------------");*/

       /* //比较两个字符串是否相等:比较内容是否一致
        String name1="HelloJava";
        String name2="Helloc";

        //1.变量名.equals(变量名)
        System.out.println(name.equals(name1));
        System.out.println(name.equals(name2));

        System.out.println("----------------------");
        //2.变量名.equals(字符串内容)
        System.out.println(name.equals("NI好"));
        System.out.println(name.equals("HelloJava"));
*/

       System.out.println("-------------------");
        //3.字符串.equals(字符串)
        System.out.println( "HelloJava".equals("HelloJava"));
        System.out.println("HelloJava".equals(name));




       }

}

2.图书管理系统初步实现的分析

/*
   分析:
   1.我们只学过字符,字符串怎么存储? String类
   2.图书信息的储存:可以使用一维数组
   3.用户输入的信息可以使用Scanner类
   4.怎么可以让我们程序一直运行
   5.添加,修改,删除数据实际上就是对一维数组元素的增删改。
#准备工作
    程序开始前,我们需要把程序内书籍的信息准备好,因为没有学习数据库,所以数据不是动态获取的
#存储图书信息的数组。
#已有的图书信息。
  编号  书籍名称 借阅状态 借出天数 累计借出
  1    ....
  2   ......
  3   .......
*
* */

3.简易图书馆六大功能的实现

package 项目;

import java.util.Scanner;

/**
 * 项目练习:图书管理系统
 */
public class BookeManager2 {
    //主方法
    public static void main(String[] args) {
        /*
        准备工作
         */
        //Scanner对象
        Scanner sc = new Scanner(System.in);
        //准备存储一维信息的一维数组
        String[] bookName = new String[6];//书名
        int[] state = new int[6];//状态:0未借出。1已借出
        int[] date = new int[6];//借出天数
        int[] count = new int[6];//借出的总次数

        //准备已有的图书信息
        bookName[0] = "Java葵花宝典";
        state[0] = 1;//借出
        date[0] = 4;
        count[0] = 15;

        bookName[1] = "Java基础";
        state[1] = 0;//未借出
        date[1] = 2;
        count[1] = 15;


        bookName[2] = "Java之三十天成为大神";
        state[2] = 1;
        date[2] = 7;
        count[2] = 17;
//控制程序结束的变量
        boolean flag=true;//程序运行 ,false 程序结束

        /*
        *主菜单界面
        *
        */
        do {

            int goBack = -1;
            System.out.println("**********************************************************************");
            System.out.println("*                 Welcome 访问一本书也没有的图书管理系统                    *");
            System.out.println("**********************************************************************");
            System.out.println();
            System.out.println();
            System.out.println("*******************请根据提示输入相应选项进入菜单***************************");
            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("***********************************************************************");
            System.out.println("请选择1-6任意一个数字");
            //接受用户输入菜单的选项
           int  num = sc.nextInt();
            //进入菜单
           wc: switch (num) {
                case 1:// 1.图书添加
                    System.out.println("请输入要添加的书名:");
                    String name = sc.next();
                    String addInfo = addBook(bookName, name);
                    System.out.println(addInfo);

                    while(goBack!=0){
                        System.out.println("请输入0返回:");
                        goBack = sc.nextInt();
                        if(goBack==0){
                            break wc;
                        }
                    }
                case 2://2.图书查看
                    printBook(bookName, state, date, count);
                    //控制返回主菜单
                    while(goBack!=0){
                        System.out.println("请输入0返回:");
                        goBack = sc.nextInt();
                        if(goBack==0){
                            break wc;
                        }
                }

                case 3://3.图书删除
                    System.out.println("请输入要删除的书籍名称:");
                    String delName = sc.next();
                    String delInfo = delBook(bookName,state,delName);
                    System.out.println(delInfo);
                    //控制返回主菜单
                    while(goBack!=0){
                        System.out.println("请输入0返回:");
                        goBack = sc.nextInt();
                        if(goBack==0){
                            break wc;
                        }
                    }

               case 4://4.图书借出
                   System.out.println("请您输入要借的书籍:");
                   String borrowName = sc.next();
                   String borrowInfo = borrowBook(bookName, state, date, count, borrowName);
                   System.out.println(borrowInfo);
                   //控制返回主菜单
                   while(goBack!=0){
                       System.out.println("请输入0返回:");
                       goBack = sc.nextInt();
                       if(goBack==0){
                           break wc;
                       }
                   }
                case 5://5.图书归还
                    System.out.println("请您输入要归还的书籍:");
                    String backName = sc.next();
                    String backInfo = backBook(bookName, state,date, backName);
                    System.out.println(backInfo);
                    //控制返回主菜单
                    while(goBack!=0){
                        System.out.println("请输入0返回:");
                        goBack = sc.nextInt();
                        if(goBack==0){
                            break wc;
                        }
                    }

                case 6:// 6.退出系统
                    System.out.println("感谢使用,再见!");
                    flag=false;
                    break;

            }
        } while (flag);


    }



    /**
     *图书信息查看的方法
     * @param bookName  存放书籍的名称的数组
     * @param state    存放书籍的状态的数组
     * @param date      借出的天数的数组
     * @param count     借出的总计次数
     */
    public static void printBook(String[] bookName, int[] state, int[] date, int[] count) {
       //输出结果的标题
        System.out.println("编号\t"+"书籍名称\t\t"+"书籍状态\t\t"+"借出天数\t\t"+"借出合计\t\t");

        //循环遍历输出信息
        for(int i=0;i<bookName.length;i++){
            if (bookName[i] != null) {

                System.out.print((i + 1) + "\t" + bookName[i]+"\t\t");
              if (state[i]==1) {
                  System.out.print("已借出" + "\t\t");
              }else{
                  System.out.print("未借出"+"\t\t");

              }
                System.out.print(date[i]+"天"+"\t\t");
                System.out.print (count[i]+"次"+"\t\t");
                System.out.println();
           }
        }

    }

    /**
     * 添加书籍的方法
     * 确定   返回值类型 String
     * 参数列表:bookName[],name要添加的书名
     */
    /**
     *
     * @param bookName  存储书名的数组
     * @param name  要添加的书名
     * @return  添加是否成功过的信息
     */
    public static String addBook(String[] bookName, String name) {
   //遍历数组
        for (int i = 0; i < bookName.length; i++) {
            //判断书名是否为null
            if (bookName[i] == null) {
                bookName[i]=name;
                return "插入书籍成功!";
            }
        }
        return "操作失败,书架已满";
    }

    /*
     * 删除书籍的方法
     *     确定  返回值类型:String
     *            参数列表:bookName[]   name
     *
     *
     * */

    /**
     *
     * @param bookName 存储书名的数组
     * @param state  存储书籍状态的数组
     * @param  delName  被删除书籍的名称
     * @return  删除是否成功N
     */
    public static String delBook(String[]bookName,int []state, String delName) {
        for (int i = 0; i < bookName.length; i++) {
            //借出不成功情况:
            //1.数组中不存在该名称
            //2.已借出状态
            if ( bookName[i].equals(delName)) {
                if (state[i]==0){
                    bookName[i]=null;
                    return "删除成功";
                }else {
                    return "您输入的书籍已借出,操作失败!";
                }
            }


        }
        return "您输入的书籍不存在";
    }

    /*
     * 图书借阅功能
     *         返回类型:String
     *         参数列表:所有数组
     * */

    /**
     * 图书借阅功能
     * * @param bookName  存放书籍的名称的数组
     *      * @param state    存放书籍的状态的数组
     *      * @param date      借出的天数的数组
     *      * @param count     借出的总计次数
     *         @param borrowName 借阅图书的名称
               @return 借阅是否成功的信息
     */
    public static String borrowBook(String[] bookName, int[] state, int[] date, int[] count,String borrowName) {
        for (int i = 0; i < bookName.length; i++) {
           //在数组中寻找书籍名称的元素
            if (bookName[i] != null && bookName[i].equals(borrowName)) {
                //判断书籍借阅状态
                if (state[i] == 0) {
                    state[i]=1;
                    date[i]=1;
                    count[i]++;
                    return "借阅成功!";
                }else{
                    return "对不起,该书已借出!";
                }
            }
        }
        return  "您借阅的书籍不存在!";
    }



    /**
     * 图书归还功能
     * * @param borrowName    存放书籍的名称的数组
     *      * @param state    存放书籍的状态的数组
     *      * @param date      借出的天数的数组
     *      * @param count     借出的总计次数
     *         @param backName 归还图书的名称
     @return 借阅是否成功的信息
     */
    public static String backBook(String[] bookName, int[] state,int[]date, String backName) {
        for (int i = 0; i < bookName.length; i++) {
            //在数组中寻找书籍名称的元素
            if (bookName[i] != null && bookName[i].equals(backName)) {
                //判断书籍借阅状态
                if (state[i] == 1) {
                    state[i]=0;
                    date[i]=0;

                    return "归还成功!";
                }else{
                    return "对不起,该书未借出归还失败!";
                }
            }
        }
        return  "您没有借阅该书籍!";
    }



}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值