学习要学以致用,于是写了一个粗糙的java图书管理系统,实现了图书的增删改查的基本操作,在写的过程中遇到了很多问题,不过也都通过暴力解决了。大晚上的脑仁不够用了, 直接上图吧。

主界面:

增加图书:

查找图书:

修改图书:

删除图书:

源代码:

package success;
import java.util.Scanner;
​
public class Library {    Scanner input=new Scanner(System.in);
    private int BookId;//书的ID
    private String BookName;//书的名字
    private String Author;//书的作者
    private int BookNum;//书的数量

    public void Library(int BookId,String BookName,String Author,int BookNum){        this.BookId=BookId;
        this.BookName=BookName;
        this.Author=Author;
        this.BookNum=BookNum;
    }

    public void setBookId(int BookId){        this.BookId=BookId;

    }
    public void setBookName(String BookName){        this.BookName=BookName;
    }
    public void setAuthor(String Author){        this.Author=Author;
    }
    public void setBookNum(int BookNum){        this.BookNum=BookNum;
    }
    public int getBookId(){        return BookId;
    }
    public String getBookName(){        return BookName;
    }
    public String getAuthor(){        return Author;
    }
    public int getBookNum(){        return BookNum;
    }
    //增加图书函数
    public void add(Library a){//增加图书以及图书信息函数
        int BookId1,BookNum1;
        String BookName1,Author1;
        System.out.println("~~~~~~~~~开始添加图书信息!~~~~~~~~~");
        System.out.println("图书ID:");
        BookId1=input.nextInt();
        a.setBookId(BookId1);
        System.out.println("图书名字:");
        BookName1=input.next();
        a.setBookName(BookName1);
        System.out.println("图书作者");
        Author1=input.next();
        a.setAuthor(Author1);
        System.out.println("图书数量");
        BookNum1=input.nextInt();
        a.setBookNum(BookNum1);
        System.out.println("~~~~~~~~~结束添加图书信息!~~~~~~~~~");
    }
    public int select(String[][] a){//用来输出特定图书号图书信息
        int m;
        int n = -1;

        System.out.println("请输入你要查找的图书号:");
        m=input.nextInt();
        for(int i=0;i<a.length;i++)
        {            if(Integer.parseInt(a[i][0])==m){
                n=i;
                break;}

        }
            return n;
    }

​
    public int alter_s(String[][] a){//用来查找修改图书的下标
        int m;
        int n=-1;
        System.out.println("选择要修改图书的编号:");
        m=input.nextInt();
        for(int i=0;i<a.length;i++){            if(Integer.parseInt(a[i][0])==m){                n=i;
                break;
            }

        }

        return n;
    }
    public int Num(){//用来查找修改图书信息的下标
        int n=-1;
        System.out.println("选择你要修改的内容:0.图书ID   1.图书姓名   2.图书作者   4.图书数量");
        n=input.nextInt();
        return n;
    }
    public int delete(String[][] a){//用于删除图书信息
        System.out.println("选择你要删除的图书的图书号:");
        int m;
        int n=-1;
        m=input.nextInt();
        for(int i=0;i<a.length;i++){            if(Integer.parseInt(a[i][0])==m){                n=i;
                break;
            }

        }

        return n;
    }
    public void display(){    System.out.println("-----------------------------图书管理系统---------------------------------");
    System.out.println("\t\t1.增加图书\t\t2.查找图书");
    System.out.println("\t\t3.修改图书\t\t4.删除图书");
    System.out.println("\t\t5.退出系统\t\t6.联系作者");
    System.out.println("--------------------------------------------------------------------------");}
    public static void main(String[] args){        Scanner input=new Scanner(System.in);
        Library Lib=new Library();
        String[][] book1=new String[10][10];//存放图书信息的数组

        int count=0;//图书个数
        int m,o;//用来定位下标
        boolean flag=true;
        int number;

        while(flag){            Lib.display();
            System.out.println("请输入选择的功能:");
            number=input.nextInt();
            switch(number){            case 1:
                Lib.add(Lib);
                book1[count][0]=Lib.BookId+"";
                book1[count][1]=Lib.BookName;
                book1[count][2]=Lib.Author;
                book1[count][3]=Lib.BookNum+"";
                System.out.println("图书的ID是:"+book1[count][0]);
                System.out.println("图书的名称是:"+book1[count][1]);
                System.out.println("图书的作者是:"+book1[count][2]);
                System.out.println("图书的数量是:"+book1[count][3]);
                count++;

                break;
            case 2:
                m=Lib.select(book1);

                if(m<0){                    System.out.println("没有这个图书编号!");

                }else{                    System.out.println("图书编号为:"+book1[m][0]);
                    System.out.println("图书名称为:"+book1[m][1]);
                    System.out.println("图书的作者是:"+book1[m][2]);
                    System.out.println("图书的数量是:"+book1[m][3]);
                }
                System.out.println("~~~~~~~~~~~~图书信息查找完毕~~~~~~~~~~~~");
                break;
            case 3:
                m=Lib.alter_s(book1);
                o=Lib.Num();
                System.out.println("请输入你要修改的内容:");
                book1[m][o]=input.next();
                System.out.println("~~~~~~~~~~~~图书信息已经修改~~~~~~~~~~~~");
                break;
            case 4:
                m=Lib.delete(book1);
                book1[m]=null;
                for(int i=m;i<book1.length-1;i++)
                {                    book1[i]=book1[i+1];
                }
                System.out.println("~~~~~~~~~~~~图书信息已被删除~~~~~~~~~~~");
                count--;
                break;
            case 5:
                System.out.println("~~~~~~~~~~~~您已经退出系统~~~~~~~~~~~~");
                flag=false;
                break;
            case 6:
                System.out.println("~~~~~~~~~~~~作者真的菜!~~~~~~~~~~~~");
                break;
            default:
                System.out.println("输入错误");
                break;

            }
        }
    }
​

}
​

也可以从Github下载源码。

Java图书管理系统相关推荐

  1. Java图书管理系统练习程序(四)

    2019独角兽企业重金招聘Python工程师标准>>> Java图书管理系统练习程序(四) 本部分主要介绍List的基本操作与Java中泛型的使用. 一.Java中泛型的使用 泛型, ...

  2. java图书管理系统技术难度_Java图书管理系统练习程序(一)

    Java图书管理系统练习程序 第一部分 该部分主要实现命令行方式的界面与无数据库访问的练习,通过本练习.主要掌握Java的基础知识与面向对象程序设计思想.面向接口编程技术的知识与运用. 一.练习程序功 ...

  3. 视频教程-手把手实现Java图书管理系统(附源码)-Java

    手把手实现Java图书管理系统(附源码) 南京大学软件工程硕士,曾就职于擎天科技.中软国际.华为等上市公司,擅长Java开发.Web前端.Python爬虫.大数据等领域技术. 全栈工程师,从事软件开发 ...

  4. [附源码]计算机毕业设计JAVA图书管理系统

    [附源码]计算机毕业设计JAVA图书管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Intell ...

  5. java图书管理系统源码

    java图书管理系统源码 系统主要功能 读者:登录注册,借阅还书,查询书籍,查看当前借阅信息以及历史借阅信息,查看.查询读者借阅榜以及借阅书籍借阅榜,问题反馈以及查询反馈结果等功能. 管理员:对图书. ...

  6. 我的第一个项目----Java图书管理系统

    项目参考自:http://www.java1234.com/a/yuanchuang/swing2/ 项目视频及代码下载地址:链接:http://pan.baidu.com/s/1pLpQw2J 密码 ...

  7. MySQL+Java 图书管理系统

    一.设计目的 通过对图书管理系统的系统分析.系统设计.编码和调试等工作的实践,熟悉管理信息系统的开发过程.设计方法及相关编程技术,熟练掌握数据库设计的基本理论及方法. 二.设计任务 要求完成一个具有一 ...

  8. java图书管理系统目的_java_图书管理系统java版,本文的目的就是通过图书管理 - phpStudy...

    图书管理系统java版 本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改. 内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出 ...

  9. Java图书管理系统简化版期末考核作业

    1.设计思路 包分类:书籍book,操作operation[包含管理员和普通用户的操作集合],用户类User,主函数入口TestMain.java 分析: 书籍book包 Book类 创建的Book类 ...

  10. 基于JSP(java)图书管理系统的设计和实现(含源文件)

    获取项目源文件,联系Q:1225467431,可指导毕设,课设 摘 要 伴随着互联网的蓬勃发展,人们已经不再满足于信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利.掌握计算机知识和应用 ...

最新文章

  1. 高性能 Windows C++ 通用组件 VC-Logger v2.0.3 正式发布
  2. 冒泡排序和鸡尾酒排序(改进的冒泡排序)
  3. PMP知识点(四、进度管理)
  4. Node.js 启动调试方式
  5. OpenGL Compute Shader计算着色器的实例
  6. 创建一个CentOS 7的模板
  7. ASP.NET中禁止继承IIS中web.config根目录的配置
  8. linux 设备驱动初学(一)
  9. 系统吞吐量、TPS(也叫QPS)、用户并发量、性能测试概念和公式
  10. Ubuntu 14.04安装LAMP(Linux,Apache,MySQL,PHP)
  11. 线性调频信号的脉冲压缩(匹配滤波)
  12. PS图片删除需要计算机管理权限,电脑打开ps,显示没有管理员权限
  13. 单点登录sso认证中心
  14. 沉睡者IT - 月赚几千的创业项目思路,抖音文案号网赚项目
  15. MATLAB2014a,MEX编译问题
  16. openwrt ntp服务器修改,Openwrt编译进阶-修改ROOT密码,修改默认WiFi名称,修改主机名,修改主机型号...
  17. firewall-cmd设置防火墙规则
  18. 圣地亚哥大学 学计算机 咋样,圣地亚哥大学的计算机专业如何?
  19. 开年捞金蓝海项目,实操一天就赚了五百多
  20. 数学基础:角度,弧度,三角函数

热门文章

  1. Java 视频资源分享(干货)
  2. 22计算机408考研—数据结构—图
  3. flymcu烧录stm32L151问题
  4. linux连接本地文件夹,llinux除了软连接本地文件夹同步:mount
  5. java 车牌号识别_JAVA车牌识别(包含车牌定位及车牌内容识别)
  6. 作为程序员,你一般用什么软件画流程图时序图和状态图等?
  7. 自已做的框架RJ 第三篇----------------修改数据
  8. 2015年最新Scala语言视频教程
  9. SQLyog——下载2058问题
  10. 2013年最新省市区三级联动mysql数据库_省市区三级联动菜单(附数据库)