Java程序员的福音:Java项目教学之图书管理系统(含源代码)

1 图书管理系统项目演示

图书管理系统分析:

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

  1. 定义Book类
  2. 完成主界面和选择
  3. 完成查询所有图书
  4. 完成添加图书
  5. 完成删除图书
  6. 完成修改图书
  7. 使用Debug追踪调试

2 图书管理系统之标准Book类

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

我们发现每一本书都有书名和价格,定义一个Book类表示书籍

public class Book {
private String name;
private double price;
public Book() {
}

public Book(String name, double price) {
this.name = name;
this.price = price;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


public double getPrice() {
return price;
}

public void setPrice(double price) {
this.price = price;
}
}

3 图书管理系统之主界面和选择的实现

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

主界面的内容其实就是通过打印语句打印出来的.但是要注意因为每个操作过后都会重新回到主界面,所以使用while(true)死循环的方式.

public class BookManager {
public static void main(String[] args) {
while (true) {
//这是学生管理系统的主界面
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("请输入你的选择:");


//创建键盘录入对象
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
switch (num) {
case 1:
// 查看所有书籍
break;
case 2:
// 添加书籍
break;
case 3:
// 删除书
break;
case 4:
// 修改书
break;
case 5:
// 退出
break;
default:
System.out.println("输入错误,请重新输入");
break;
}
}
}
}

4 图书管理系统之查询所有图书

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

public class BookManager {
public static void main(String[] args) {
Map<String, ArrayList<Book>> map = new HashMap<>();
// 创建集合对象,用于存储学生数据
ArrayList<Book> it = new ArrayList<Book>();
it.add(new Book("Java入门到精通", 99));
it.add(new Book("PHP入门到精通", 9.9));
map.put("it书籍", it);
ArrayList<Book> mz = new ArrayList<Book>();
mz.add(new Book("西游记", 19));
mz.add(new Book("水浒传", 29));
map.put("名著", mz)

while (true) {
//这是学生管理系统的主界面
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("请输入你的选择:");

//创建键盘录入对象
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
switch (num) {
case 1:
// 查看所有书籍
findAllBook(map);
break;
case 2:
// 添加书籍
break;
case 3:
// 删除书
break;
case 4:
// 修改书
break;
case 5:
// 退出
System.out.println("谢谢你的使用");
System.exit(0); // JVM退出
break;
default:
System.out.println("输入错误,请重新输入");
break;
}
}
}
private static void findAllBook(Map<String, ArrayList<Book>> map) {
System.out.println("类型\t\t书名\t价格");
Set<Map.Entry<String, ArrayList<Book>>> entries = map.entrySet();
for (Map.Entry<String, ArrayList<Book>> entry : entries) {
String key = entry.getKey();
System.out.println(key);
ArrayList<Book> value = entry.getValue();
for (Book book : value) {
System.out.println("\t\t" + book.getName() + "\t" + book.getPrice());
}
}
}
}

5 图书管理系统之添加图书

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

private static void addBook(Map<String, ArrayList<Book>> map) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入要添加书籍的类型:");
String type = sc.next();
System.out.println("请输入要添加的书名:");
String name = sc.next();
System.out.println("请输入要添加书的价格:");
double price = sc.nextDouble();
Book book = new Book(name, price);
// 拿到书籍列表
ArrayList<Book> books = map.get(type);
if (books == null) {
// 如果书籍列表不存在创建一个书籍列表
books = new ArrayList<>();
map.put(type, books);
}
// 将书添加到集合中
books.add(book);
System.out.println("添加" + name + "成功");
}

6 图书管理系统之删除图书

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

private static void deleteBook(Map<String, ArrayList<Book>> map) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除书籍的类型:");
String type = sc.next();
System.out.println("请输入要删除的书名:");
String name = sc.next();

// 拿到书籍列表  : 用Map集合的
ArrayList<Book> books = map.get(type);
if (books == null) {
System.out.println("您删除的书籍类型不存在");
return;
}
for (int i = 0; i < books.size(); i++) {
Book book = books.get(i);
if (book.getName().equals(name)) {
books.remove(i); // 找到这本书,删除这本书
System.out.println("删除" + name + "书籍成功");
return; // 删除书籍后结束方法
}
}
System.out.println("没有找到" + name + "书籍");
}

7 图书管理系统之修改图书

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

 

private static void editBook(Map<String, ArrayList<Book>> map) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改书籍的类型:");
String type = sc.next();
System.out.println("请输入要修改的书名:");
String oldName = sc.next();
System.out.println("请输入新的书名:");
String newName = sc.next();
System.out.println("请输入新的价格:");
double price = sc.nextDouble();

// 拿到书籍列表
ArrayList<Book> books = map.get(type); // 根本不不像一个技术人员
if (books == null) {
System.out.println("您修改的书籍类型不存在");
return;
}
for (int i = 0; i < books.size(); i++) {
Book book = books.get(i);
if (book.getName().equals(oldName)) {
// 找到这本书,修改这本书
book.setName(newName);
book.setPrice(price);
System.out.println("修改成功");
return; // 修改书籍后结束方法
}
}
System.out.println("没有找到" + oldName + "书籍");
}

8 Debug追踪调试

之前我们看程序的执行流程都是通过System.out.println();但是又不能让程序执行到某条语句后停下来,也不能看到程序具体的执行步骤.而是执行完所有的语句程序结束了。

断点调试可以查看程序的执行流程和暂停程序.可以快速解决程序中的bug

Debug调试窗口介绍

Java程序员的福音:Java项目教学之图书管理系统(含源代码)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值