詳細(xì)步驟概述
步驟一:創(chuàng)建類Tushuxitong
package edu.tuhsu;
/**
* @author WYP
* @date 2021/4/14 9:10
*/
public class Tushuxitong {
/**
* 圖書類
*/
// 名字 狀態(tài) 借出日期 次數(shù)
public Stringname; //圖書名稱
public int state; //圖書狀態(tài) 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;
}
}
步驟二:創(chuàng)建類Tushuxitong2
package edu.tuhsu;
/**
* @author WYP
* @date 2021/4/14 9:22
*/
public class Tushuxitong2 {
Tushuxitong[]books =new Tushuxitong[50];
}
步驟三:創(chuàng)建類Tushuxitong3
Tushuxitong03中含有initial捣辆、startMenu捐康。
package edu.tuhsu;
import java.util.Scanner;
/**
* @author WYP
* @date 2021/4/14 9:22
*/
public class Tushuxitong3 {
Tushuxitong2bookSet =new Tushuxitong2();
/**
* 初始化
*/
public void initial() {
Tushuxitong java =new Tushuxitong();
java.setBook("《java基礎(chǔ)》", 1, "1990/2/3", 20);
Tushuxitong renyue =new Tushuxitong();
renyue.setBook("《軟件技術(shù)》", 1, null, 0);
Tushuxitong jichu =new Tushuxitong();
jichu.setBook("《程序語言基礎(chǔ)》", 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("歡迎使用圖書管理系統(tǒng)");
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("請(qǐng)選擇:");
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("輸入不符合要求請(qǐng)重新選擇");
}
}while (flag);
}
private void kan() {
System.out.println("編號(hào) \t\t\t 名稱 \t\t\t\t 狀態(tài) \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("請(qǐng)輸入圖書的名稱:");
String name = scanner.next();
System.out.println("請(qǐng)輸入庫存:");
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; //把新建的對(duì)象放在數(shù)組中的第一個(gè)空位置
bookSet.books[i].number = number; //庫存
System.out.println("添加成功");
break; //后續(xù)的空位置直接跳過
}
}
}
private void guihuan () {
System.out.println("請(qǐng)輸入要?dú)w還書的名稱");
Scanner scanner =new Scanner(System.in);
String huan = scanner.next();
boolean flag =true; //判斷是否歸還成功
System.out.println("請(qǐng)輸入歸還日期");
String riqi = scanner.next();
for (int i =0; i
if (bookSet.books[i].name.equals(huan) &&bookSet.books[i].state ==0) {// 在書的狀態(tài)為一借出的狀態(tài)下可以歸還
bookSet.books[i].state =1;
bookSet.books[i].date = riqi;
}else {
System.out.println("歸還成功");
flag =true;
break;
}
}
}
private void jiechu () {
System.out.println("請(qǐng)輸入要借書的名稱");
Scanner scanner =new Scanner(System.in);
String jie = scanner.next();
boolean flag =true;
System.out.println("請(qǐng)輸入借書的日期");
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) {//在書的狀態(tài)為1(可借)可以借出
bookSet.books[i].state =0; //借出后把書的狀態(tài)改為0(不可借)
flag =true;
bookSet.books[i].date = riqi; //日期改為現(xiàn)在借書的日期
}
break;
}
}
if (flag) {
System.out.println("借出成功");
}else {
System.out.println("借出失敗");
}
}
private void shanchu () {
System.out.println("請(qǐng)輸入刪除圖書的編號(hào):");
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) {
//后面元素向前移動(dòng)
bookSet.books[j] =bookSet.books[j +1];
j++;
}
bookSet.books[j] =null;
flag =true;
break; //后面元素沒必要執(zhí)行
}else {
System.out.println("圖書為借出狀態(tài)不能刪除");
flag =true;
}
}else {
flag =false;
}
}
if (flag) {
System.out.println("刪除成功");
}else {
System.out.println("刪除失敗");
}
}
}
步驟四:創(chuàng)建測(cè)試類Tushuxitong4
package edu.tuhsu;
/**
* @author WYP
* @date 2021/4/14 9:23
*/
public class Tushuxitong4 {
public static void main(String[] args) {
Tushuxitong3 bookManage = new Tushuxitong3();
bookManage.initial();
bookManage.startMenu();
}
}
運(yùn)行結(jié)果顯示: