图书管理系统

详细步骤概述

步骤一:创建类Tushuxitong


package edu.tuhsu;

public class Tushuxitong {

/**

* 图书类

*/

// 名字  状态  借出日期  次数

public Stringname;    //图书名称

public int state;  //图书状态          0已借出1可借

public Stringdate; //借出日期

public double number; // 库存

/*

图书信息展示*/

public void dayin(int index) {

System.out.println(index +"\t\t\t\t" +name +"\t\t\t\t" +state +"\t\t\t\t" +date +"\t\t\t\t" +number);

}

public void setBook(String mingzi, int zhuangtai, String riqi, double kucun) {

this.name = mingzi;

this.state = zhuangtai;

this.date = riqi;

this.number = kucun;

}

}

步骤二:创建类Tushuxitong2

package edu.tuhsu;

public class Tushuxitong2 {

Tushuxitong[]books =new Tushuxitong[50];

}

步骤三:创建类Tushuxitong3
Tushuxitong03中含有initial、startMenu。

package edu.tuhsu;

import java.util.Scanner;

public class Tushuxitong3 {

Tushuxitong2bookSet =new Tushuxitong2();

/**

* 初始化

*/

public void initial() {

Tushuxitong java =new Tushuxitong();

java.setBook("《java基础》", 1, "1990/2/3", 20);

Tushuxitong renyue =new Tushuxitong();

renyue.setBook("《软件技术》", 1, null, 0);

Tushuxitong jichu =new Tushuxitong();

jichu.setBook("《程序语言基础》", 1, null, 0);

bookSet.books[0] = java;

bookSet.books[1] = renyue;

bookSet.books[2] = jichu;

}

/*

菜单切换*/

public void startMenu(){

boolean flag =true ;

do {

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("请选择:");

Scanner scanner =new Scanner(System.in);

int choice = scanner.nextInt();

switch (choice){

case 1:

System.out.println("新增图书");

zeng();

break;

case 2:

System.out.println("查看图书");

kan();

break;

case 3:

System.out.println("删除图书");

shanchu();

break;

case 4:

System.out.println("借出图书");

jiechu();

break;

case 5:

System.out.println("归还图书");

guihuan();

break;

case 6:

System.out.println("谢 谢 使 用 !");

default:

System.out.println("输入不符合要求请重新选择");

}

}while (flag);

}

private void kan() {

System.out.println("编号 \t\t\t  名称 \t\t\t\t 状态 \t\t\t 借出日期 \t\t\t 库存");

for (int i =0; i

if (this.bookSet.books[i] !=null) {

this.bookSet.books[i].dayin(i +1);

}

}

}

private void zeng() {

Scanner scanner =new Scanner(System.in);

System.out.println("请输入图书的名称:");

String name = scanner.next();

System.out.println("请输入库存:");

int number = scanner.nextInt();

Tushuxitong newBook =new Tushuxitong();

newBook.setBook(name, newBook.state, newBook.date, newBook.number);

for (int i =0; i

if (bookSet.books[i] ==null) {

bookSet.books[i] = newBook;  //把新建的对象放在数组中的第一个空位置

bookSet.books[i].number = number; //库存

System.out.println("添加成功");

break; //后续的空位置直接跳过

}

}

}

private void guihuan () {

System.out.println("请输入要归还书的名称");

Scanner scanner =new Scanner(System.in);

String huan = scanner.next();

boolean flag =true;  //判断是否归还成功

System.out.println("请输入归还日期");

String riqi = scanner.next();

for (int i =0; i

if (bookSet.books[i].name.equals(huan) &&bookSet.books[i].state ==0) {// 在书的状态为一借出的状态下可以归还

bookSet.books[i].state =1;

bookSet.books[i].date = riqi;

}else {

System.out.println("归还成功");

flag =true;

break;

}

}

}

private void jiechu () {

System.out.println("请输入要借书的名称");

Scanner scanner =new Scanner(System.in);

String jie = scanner.next();

boolean flag =true;

System.out.println("请输入借书的日期");

String riqi = scanner.next();

for (int i =0; i

if (bookSet.books[i] !=null &&bookSet.books[i].name.equals(jie)) {

if (bookSet.books[i].state ==1) {//在书的状态为1(可借)可以借出

bookSet.books[i].state =0; //借出后把书的状态改为0(不可借)

flag =true;

bookSet.books[i].date = riqi; //日期改为现在借书的日期

}

break;

}

}

if (flag) {

System.out.println("借出成功");

}else {

System.out.println("借出失败");

}

}

private void shanchu () {

System.out.println("请输入删除图书的编号:");

Scanner scanner =new Scanner(System.in);

int bianhao = scanner.nextInt();

boolean flag =true;

for (int i =0; i

if (bookSet.books[i] !=null && (i +1) == bianhao) {

if (bookSet.books[i].state !=0) {

int j = i;

while (bookSet.books[j +1] !=null) {

//后面元素向前移动

bookSet.books[j] =bookSet.books[j +1];

j++;

}

bookSet.books[j] =null;

flag =true;

break;  //后面元素没必要执行

}else {

System.out.println("图书为借出状态不能删除");

flag =true;

}

}else {

flag =false;

}

}

if (flag) {

System.out.println("删除成功");

}else {

System.out.println("删除失败");

}

}

}

步骤四:创建测试类Tushuxitong4

package edu.tuhsu;

public class Tushuxitong4 {

    public static void main(String[] args) {

        Tushuxitong3 bookManage = new Tushuxitong3();

        bookManage.initial();

        bookManage.startMenu();

    }

}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,793评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 11,836评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,721评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 7,501评论 2 9