图书管理系统

 package xmz.bookapp.domain;

import java.util.Date;
import java.util.GregorianCalendar;

public class BookTest {
 
 private String title;
 private String ISBN;
 private double price;
 private String type;
 private java.util.Date publishDate;
 
 
 public BookTest(String title, String ISBN, double price, String type, int year, int month, int day){
  this.title = title;
  this.ISBN = ISBN;
  this.price =price;
  this.type = type;
  GregorianCalendar c =new GregorianCalendar(year, month-1, day);
  this.publishDate = c.getTime();
  
 }
 
 public String getTitle() {
  return title;
 }
 public String getISBN() {
  return ISBN;
 }
 public double getPrice() {
  return price;
 }
 public String getType() {
  return type;
 }
 public Date getPublishDate() {
  return publishDate;
 }

 @Override
 public String toString(){
  return getClass().getName() +"[title =" + title + ",ISBN=" + ISBN + ",price=" + price + ";type =" + type + ",publishDate=" + publishDate + "]"; 
 }
 
  

 

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub

 }

}

 

 

package xmz.bookapp.domain;

public class ChildrenBook extends BookTest {
 
 private int age;

 public ChildrenBook(String title, String ISBN, double price, String type,
   int year, int month, int day, int age) {
  super(title, ISBN, price, type, year, month, day);
  this.age = age;
 }
 public int getAge(){
  return this.age;
 }
 
 public String getType(){
  return "儿童书籍";
 }
 
}

 

 

package xmz.bookapp.domain;

public class TechnicalBook extends BookTest {
 
 private String skillLevel;

 public TechnicalBook(String title, String ISBN, double price, String type,
   int year, int month, int day, String skillLevel) {
  super(title, ISBN, price, type, year, month, day);
  this.skillLevel = skillLevel;
 }
 
 public String getSkillLevel(){
  return this.skillLevel;
 }
 
 public String getType(){
  return "Java技术书籍";
 }
}

 

package xmz.bookapp.entry;

import java.util.ArrayList;

import static java.lang.System.out;

import xmz.bookapp.domain.BookTest;

public class BookShelf {
 
 private ArrayList<BookTest> books;
 
 public BookShelf(BookTest[] bs){
  for(BookTest b : bs)
  this.books.add(b);
 }
 
 public void Show(){
  int n = books.size();
  for (int i = 0; i < n -1; i++){
   BookTest b =books.get(i);
   out.println(b);
  }
 }
 //待优化
 public BookTest getBook() {
  if (books.isEmpty())
   return null;
   return books.remove(0);
 }
 
 public void returnBook(BookTest book){
  books.add(book);
 }
 
 public int getCount(){
  return books.size();
 }

 public void show() {
  
  
 }

 
}

 

 

package xmz.bookapp.entry;

import java.util.ArrayList;

import xmz.bookapp.domain.BookTest;

public class ShoppingCart {
 
 private ArrayList<BookTest> books;
 public ShoppingCart(){
  books = new ArrayList<BookTest>();
 }
  
 public void add(BookTest book){
  books.add(book);
 }
 
 public void remove(BookTest book){
  books.remove(book);
 }
 
 public BookTest[] show() {
  return (BookTest[])books.toArray();
 }
 
 public double count(){
  BookTest[]bs =show();
  double totalPrice =0.0;
  for(BookTest b : bs){
   totalPrice += b.getPrice();
  }
  return totalPrice;
 }
}

 

 

package bookapp;

import xmz.bookapp.domain.BookTest;
import xmz.bookapp.domain.ChildrenBook;
import xmz.bookapp.domain.TechnicalBook;
import xmz.bookapp.entry.BookShelf;
import xmz.bookapp.entry.ShoppingCart;

public class Test {
 
 public static BookShelf initBookShelf(){
  //向书架增加图书  
  BookTest[] books = new BookTest[10];
  for(int i = 0; i < 5; i++){
   books[i] = new ChildrenBook("卡通西游记",  "isbn-zhj-01", 0.25,"卡通", 2009, 10, 31, 5);
  }
  for (int i = 0; i < 5; i++){
   books[i+5] = new TechnicalBook( "java高手速成", "isbn-lvxd-01", 125, "编程", 2009, 8, 31, "高级软件工程"); 
  }
  BookShelf bsf = new BookShelf(books);
  return bsf;
 }
 
 public static void main(String[] args){
  //1:向书架增加图书 
  BookShelf bsf = initBookShelf();
  
  //2:创建一个购物车
  ShoppingCart cart = new ShoppingCart();
  
  //3:显示一把书架的图书信息
  bsf.Show();
  
  //4:选择一本西游记,2本java
  BookTest book = bsf.getBook();
  cart.add(book);
  
  //5:结算
  double totalPrice = cart.count();
  System.out.println("您选择的图书总价为:" + totalPrice);
  
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值