目录
⛳️ 项目需求
为某图书馆开发一个迷你图书管理系统,实现图书的管理,包括如下功能:
(1)新增图书
(2)查看图书
(3)删除图书
(4)借出图书
(5)归还图书
(6)退出图书系统
⛳️ 覆盖知识
程序基本概念、变量 、数据类型、流程控制、顺序、选择 、循环、跳转语句、数组、变量、类、方法等
⛳️ 开发思路
(1)明确需求
(2)编码顺序
1)、数据初始化
2)、循环完成各种图书管理操作
3)、菜单切换
(3)测试
⛳️ 开发步骤
❤️ 1、数据初始化
(1)设计一个包含图书信息的类:Book类
(2)设计一个图书信息操作的方法类:BookMethod类
(3)设计一个图书管理系统测试类:MyBookSystem类
(4)在MyBookSystem类中初始化对象数组和相关数据
// 初始化Book数组 Book[] books=new Book[6]; // 初始化第一本本图书 books[0]=new Book("罗马假日", 1, 1, 15); // 初始化第一本本图书 books[1]=new Book("白雪公主", 0, 0, 12); // 初始化第一本本图书 books[2]=new Book("葫芦兄弟", 0, 0, 30);
❤️ 2、BookMethod类中定义各种方法
欢迎使用迷你图书管理器方法
新增图书方法
查看图书方法
删除图书方法
借出图书方法
归还图书方法
退出图书方法
例子:
//欢迎使用迷你图书管理器方法 public static void useBookSystem() { // 输出欢迎菜单 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("-------------------------"); }
⛳️ 部分代码展示
❤️ 1、Book类(全部代码)
package cn.bdqn.demo05;
public class Book {
//定义属性
private String name;
private int state;
private int date;
private int count;
//添加无参构造
public Book() {
super();
}
//添加有参构造
public Book(String name, int state, int date, int count) {
super();
this.name = name;
this.state = state;
this.date = date;
this.count = count;
}
//添加get/set方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
public int getDate() {
return date;
}
public void setDate(int date) {
this.date = date;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
❤️ 2、BookMethod类(部分代码)
页面底部有全部代码分享链接
package cn.bdqn.demo05;
import java.util.Scanner;
public class BookMethod {
// 定义一个静态的Scanner
static Scanner inputsc =new Scanner(System.in);
// static String bookName;
// 欢迎使用迷你图书管理器方法
public static void useBookSystem() {
// 输出欢迎菜单
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("-------------------------");
}
// 新增图书方法
public static void addBook(Book[] books){
System.out.println("-->新增图书\n");
System.out.println("请输入图书名称:");
String bookName = inputsc.next();
System.out.println(bookName);
// 判断添加书是否成功
boolean flag2 = false;
// 循环查找图书馆里的可存放书的地方
for (int i = 0; i < books.length; i++) {
//逻辑部分
}
if (!flag2) {
System.out.println("抱歉,新增《" + bookName + "》失败!货架已满!");
}
System.out.println("*****************************************");
}
// 查看图书方法
public static void lookBook(Book[] books){
System.out.println("-->查看图书\n");
System.out.println("序号\t状态\t名称\t借出日期\t借出次数");
for (int i = 0; i < books.length; i++) {
if (books[i] != null) {
//逻辑部分
}
}
System.out.println("*****************************************");
}
// 删除图书方法
public static void delBook(Book[] books){
System.out.println("-->删除图书\n");
System.out.println("请输入要删除图书的名称:");
String delete = inputsc.next();
boolean flag3 = false;
int index = -1; // 记录要删除图书的位置
for (int i = 0; i < books.length; i++) {
// 逻辑部分
}
// 根据记录下来的删除图书的位置进行删除工作
if (index != -1) {
for (int j = index; j < books.length; j++) {
if (j != books.length - 1) {
books[j].setName(books[j + 1].getName());
books[j].setState(books[j + 1].getState());
books[j].setDate(books[j + 1].getDate());
}
books[books.length - 1].setName(null);
}
}
if (!flag3) {
System.out.println("没有找到匹配信息!");
}
System.out.println("*****************************************");
}
// 借出图书方法
public static void lendBook(Book[] books){
System.out.println("-->借出图书\n");
System.out.print("请输入图书名称:");
String want = inputsc.next(); // 要借出的图书名称
for (int i = 0; i < books.length; i++) {
//逻辑部分
}
System.out.println("*****************************************");
}
// 归还图书方法
public static void returnBook(Book[] books){
System.out.println("-->归还图书\n");
int charge = 0; // 租金
System.out.print("请输入归还图书名称:");
String want = inputsc.next();
for (int i = 0; i < books.length; i++) {
//逻辑部分
}
System.out.println("*****************************************");
}
}
❤️ 3、 MyBookSystem类(全部代码)
package cn.bdqn.demo05;
import java.util.*;
/**
* 图书管理系统类MyBookMgr
*
* @author Administrator
*
*/
public class MyBookSystem {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 是否退出系统,false代表退出系统
boolean flag = true;
// 初始化Book数组
Book[] books=new Book[6];
// 初始化第一本本图书
books[0]=new Book("罗马假日", 1, 1, 15);
// 初始化第一本本图书
books[1]=new Book("白雪公主", 0, 0, 12);
// 初始化第一本本图书
books[2]=new Book("葫芦兄弟", 0, 0, 30);
int num = -1;
// 循环操作
do {
// 定义一个BookMethod操作类,将操作方法定义在BookMethod类中,然后调用
// 欢迎菜单方法
BookMethod.useBookSystem();
System.out.println("请选择:");
int choose = input.nextInt();
switch (choose) {
case 1:
// 新增图书
BookMethod.addBook(books);
break;
case 2:
// 查看图书
BookMethod.lookBook(books);
break;
case 3:
// 删除图书
BookMethod.delBook(books);
break;
case 4:
// 借出图书
BookMethod.lendBook(books);
break;
case 5:
// 归还图书
BookMethod.returnBook(books);
break;
case 6:
// 退出图书
flag = false;
break;
default:
flag = false;
break;
}
if (flag) {
System.out.println("输入0返回:");
num = input.nextInt();
} else {
break;
}
} while (num == 0);
System.out.println("谢谢使用!");
input.close();
}
}
标签:Java,14,Book,System,books,println,管理器,图书,out From: https://blog.51cto.com/u_15740516/5747843