文本界面应用程序---书籍管理系统

package book;

/**
 * 实体类(领域模型) 特点:只有属性,没有方法.因为他的目的就是承载数据
 */
public class Book {

	private int bookId;
	private String bookName;
	private String bookAuthor;
	private double bookPrice;
	private String content;

	public Book() {
	}

	public Book(int bookId, String bookName, String bookAuthor, double bookPrice, String content) {
		this.bookId = bookId;
		this.bookName = bookName;
		this.bookAuthor = bookAuthor;
		this.bookPrice = bookPrice;
		this.content = content;
	}

	@Override
	public String toString() {
		return this.bookId + "\t" + this.bookName + "\t" + this.bookAuthor + "\t" + this.bookPrice + "\t"
				+ this.content;
	}

	public int getBookId() {
		return bookId;
	}

	public void setBookId(int bookId) {
		this.bookId = bookId;
	}

	public String getBookName() {
		return bookName;
	}

	public void setBookName(String bookName) {
		this.bookName = bookName;
	}

	public String getBookAuthor() {
		return bookAuthor;
	}

	public void setBookAuthor(String bookAuthor) {
		this.bookAuthor = bookAuthor;
	}

	public double getBookPrice() {
		return bookPrice;
	}

	public void setBookPrice(double bookPrice) {
		this.bookPrice = bookPrice;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

}
package book;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test {

	public void work() {
		Scanner input = new Scanner(System.in);
		Book sanguo = new Book(1, "三国演义", "罗贯中", 40.5, "三国演义真好看!");
		Book shuihu = new Book(2, "水浒", "施耐庵", 45, "水浒真好看!");
		Book xiyouji = new Book(3, "西游记", "吴承恩", 50.5, "西游记真好看!");
		Book hongloumeng = new Book(4, "红楼梦", "曹雪芹", 30, "红楼梦真好看!");

		List<Book> list = new ArrayList<>();
		list.add(sanguo);
		list.add(shuihu);
		list.add(xiyouji);
		list.add(hongloumeng);

		System.out.println("------------------欢迎使用图书管理系统------------------\n");

		int menu = 0;
		while (menu != 5) {
			System.out.println("----主菜单--1.全查询--2.添加--3.更新--4.删除--5.退出----");
			System.out.println("请选择主菜单功能:");
			menu = input.nextInt();
			switch (menu) {
			case 1:
				showListBook(list); // 全查询
				break;
			case 2:
				saveBook(list); // 添加图书
				break;
			case 3:
				updateBook(list); // 更新
				break;
			case 4:
				removeBook(list);
				break;
			case 5:
				System.out.println("-----------------欢迎下次光临-----------------");
				break;
			default:
				System.out.println("请输入正确的选项!");
				break;
			}
		}
	}

	private void showListBook(List<Book> list) {// 展示书
		System.out.println("\n书籍编号\t数据名称\t书籍作者\t书籍价格\t书籍简介");
		for (Book book : list) {
			System.out.println(book);
		}
	}

	private void saveBook(List<Book> list) {
		Scanner input = new Scanner(System.in);

		// 自动生成书籍编号
		// 1.查找最大书籍编号(遍历)
		int maxBookId = 0;
		for (Book book : list) {
			if (maxBookId < book.getBookId()) {
				maxBookId = book.getBookId();
			}
		}

		Book book = new Book();

		book.setBookId(maxBookId + 1);

		System.out.println("请输入书籍名称:");
		book.setBookName(input.next());
		System.out.println("请输入书籍作者:");
		book.setBookAuthor(input.next());
		System.out.println("请输入书籍价格:");
		book.setBookPrice(input.nextDouble());
		System.out.println("请输入书籍简介:");
		book.setContent(input.next());

		list.add(book);
		System.out.println("添加成功!");
	}

	private void updateBook(List<Book> list) {
		Scanner input = new Scanner(System.in);
		String flag = "";

		showListBook(list);

		System.out.println("请输入要更新的书籍编号");
		int bookId = input.nextInt();
		for (Book book : list) {
			if (book.getBookId() == bookId) {
				System.out.println("\n书籍编号\t数据名称\t书籍作者\t书籍价格\t书籍简介");
				System.out.println(book);

				System.out.println("书籍名称是否修改(y/n):");
				if (input.next().equals("y")) {
					System.out.println("请输入新的书籍名称:");
					book.setBookName(input.next());
				}

				System.out.println("书籍作者是否修改(y/n):");
				if (input.next().equals("y")) {
					System.out.println("请输入新的书籍作者:");
					book.setBookAuthor(input.next());
				}

				System.out.println("书籍价格是否修改(y/n):");
				if (input.next().equals("y")) {
					System.out.println("请输入新的书籍价格:");
					book.setBookPrice(input.nextDouble());
				}

				System.out.println("书籍简介是否修改(y/n):");
				if (input.next().equals("y")) {
					System.out.println("请输入新的书籍简介:");
					book.setContent(input.next());
				}

				System.out.println("修改成功!");
				break;
			}
		}
	}

	private void removeBook(List<Book> list) {
		Scanner input = new Scanner(System.in);
		showListBook(list);
		System.out.println("请输入要删除的书籍编号");
		int bookId = input.nextInt();
		Book temp = null;
		for (Book book : list) {
			if (book.getBookId() == bookId) {
				temp = book;
				break;
			}
		}
		list.remove(temp);
		System.out.println("删除成功!");
	}

	public static void main(String[] args) {
		new Test().work();
	}
}

在这里插入图片描述在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值