package edu.xcdq;
import com.sun.deploy.security.AbstractBrowserAuthenticator;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Scanner;
// 圖書管理類
public class LibraryManage {
Scanner scanner = new Scanner(System.in);
BookSet bookSet = new BookSet();
//這一行代碼確立了轉(zhuǎn)換的格式伴鳖,其中 yyyy 是完整的公元年,MM 是月份璧瞬,dd 是日期
SimpleDateFormat outBookDate = new SimpleDateFormat("yyyy-MM-dd");
// 初始化倉庫
public void initial() {
Book java = new Book();// new一個圖書對象
java.bookSet("java基礎(chǔ)教程",false,"2015-7-1",1);// 用bookSet方法給java對象傳入數(shù)據(jù)
Book mysql = new Book();
mysql.bookSet("數(shù)據(jù)庫技術(shù)",true,"",0);
Book renYue = new Book();
renYue.bookSet("人月神話",true,"",0);
// 把圖書信息對象傳入圖書倉庫內(nèi)
bookSet.book[0] = java;
bookSet.book[1] = mysql;
bookSet.book[2] = renYue;
}
// 開始菜單
public void startMenu() throws ParseException {
boolean flag1 = true;
int choose;
int fanhui;
stopStartMenu: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("請選擇:");
choose = scanner.nextInt();
switch (choose) {
case 1:
System.out.println("---> 新增圖書");
add();
break;
case 2:
System.out.println("---> 查看圖書");
chakan();
break;
case 3:
System.out.println("---> 刪除圖書");
delete();
break;
case 4:
System.out.println("---> 借出圖書");
out();
break;
case 5:
System.out.println("---> 歸還圖書");
returnBook();
break;
case 6:
System.out.println("---> 退 出");
break stopStartMenu;
}
System.out.print("輸入0返回:");
fanhui = scanner.nextInt();
}while( fanhui == 0 ) ;
}
// 新增圖書
private void add() {
System.out.print("請輸入圖書名稱:");
String name = scanner.next();
boolean flagDelete = true;
int count = 0;
String date = "";
Book newBook = new Book();
newBook.bookSet(name,flagDelete,date,count);
// 循環(huán)找到第一個不為null的對象類數(shù)組栈暇,并給他存入這個新增的對象麻裁,然后結(jié)束循環(huán)
for (int i = 0; i < bookSet.book.length; i++) {
if ( bookSet.book[i] == null ) {
bookSet.book[i] = newBook;
break;
}
}
System.out.println("增加" + newBook.name + "成功");
}
// 查看圖書
private void chakan() {
System.out.println("序號 \t狀 態(tài) \t 名稱 \t\t借出日期");
// 循環(huán)找到并打印不為null的對象
for (int i = 0; i < bookSet.book.length; i++) {
if ( bookSet.book[i] != null) {
bookSet.book[i].print( i+1 );
}
}
System.out.println("***********************************");
}
// 刪除圖書
private void delete() {
System.out.println("請輸入你要刪除圖書的名稱:");
String deleteBookName = scanner.next();
// 循環(huán)找到要刪除圖書的名稱
for (int i = 0; i < bookSet.book.length; i++) {
if ( bookSet.book[i] != null ) {
if ( deleteBookName.equals(bookSet.book[i].name) ) {
if (bookSet.book[i].flag ) {
int j = i;
while ( bookSet.book[j+1] != null ) {// 循環(huán)把要刪除的圖書后面的每一位不為null的對象的屬性給到前一位
bookSet.book[j] = bookSet.book[j+1];
j++;
}
/*
這時bookSst.book[j]已經(jīng)是除去null最后一個有值的對象,前一位對象的屬性與當(dāng)前對象的屬性相同源祈,
這個對象就多余了煎源,所以把他的值為null
*/
bookSet.book[j] = null;
System.out.println("刪除成功");
break;
}else {
System.out.println("已借出的書不能刪除");
}
}else {
System.out.println("圖書館不存在此書");
break;
}
}
}
}
// 借出圖書
private void out(){
System.out.print("請輸入圖書名稱:");
String bookName = scanner.next();
String outDate;// 借出圖書日期
// 循環(huán)找到要借的書的名字,并讓用戶輸入借出的日期香缺,然后用bookSet方法修改圖書的狀態(tài)和借出次數(shù)
for (int i = 0; i < bookSet.book.length; i++) {
if ( bookSet.book[i] !=null && bookName.equals(bookSet.book[i].name) ) {
if ( bookSet.book[i].flag ) {
System.out.print("請輸入借出日期(年-月-日):");
outDate = scanner.next();
bookSet.book[i].count = bookSet.book[i].count + 1;
bookSet.book[i].bookSet(bookName,false,outDate,bookSet.book[i].count);
System.out.println("借出成功");
break;
}else {
System.out.println("此書已被借走");
}
}
}
}
// 歸還圖書
private void returnBook() throws ParseException{
System.out.print("請輸入圖書名稱:");
String returnBook = scanner.next();
String guihuanBookDate;// 歸還日期
/*
循環(huán)找到歸還圖書名稱是否與圖書館內(nèi)圖書名字是否相同手销,并查詢此圖書狀態(tài)(借出/ 未借出),
如果借出那么就讓用戶輸入歸還日期,并計算應(yīng)付金額(1天/1元)
*/
for (int i = 0; i < bookSet.book.length; i++) {
if ( returnBook.equals(bookSet.book[i].name) ) {
if ( bookSet.book[i].flag ) {
System.out.println(bookSet.book[i].name + "未借出");
}else {
System.out.println("請輸入歸還日期(年/月/日):");
guihuanBookDate = scanner.next();
System.out.println("歸還《" + bookSet.book[i].name + "》成功!");
bookSet.book[i].flag = true;// 借出狀態(tài)換為未借出
System.out.println("借出日期為:" + bookSet.book[i].date);
System.out.println("歸還日期為:" + guihuanBookDate);
Date d1 = outBookDate.parse(bookSet.book[i].date);
Date d2 = outBookDate.parse(guihuanBookDate);
//使用 getTime() 方法獲取兩個日期(自1970年1月1日經(jīng)歷的毫秒數(shù)值)图张,然后比較這兩個值锋拖。
long daysBetween = (d2.getTime()-d1.getTime()) / (24*60*60*1000);
System.out.println("應(yīng)付租金(元)" + daysBetween + "元");
bookSet.book[i].date = "";// 借出日期重置
break;
}
}else {
System.out.println("圖書館不存在此書");
break;
}
}
}
}
圖書管理類
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疫萤,“玉大人颂跨,你說我怎么就攤上這事「” “怎么了毫捣?”我有些...
- 文/不壞的土叔 我叫張陵详拙,是天一觀的道長。 經(jīng)常有香客問我蔓同,道長饶辙,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任斑粱,我火速辦了婚禮弃揽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘则北。我一直安慰自己矿微,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布尚揣。 她就那樣靜靜地躺著涌矢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪快骗。 梳的紋絲不亂的頭發(fā)上娜庇,一...
- 文/蒼蘭香墨 我猛地睜開眼巾表,長吁一口氣:“原來是場噩夢啊……” “哼汁掠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起攒发,我...
- 正文 年R本政府宣布,位于F島的核電站云头,受9級特大地震影響捐友,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜溃槐,卻給世界環(huán)境...
- 文/蒙蒙 一匣砖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧昏滴,春花似錦猴鲫、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至姻几,卻和暖如春匣缘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鲜棠。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 應(yīng)學(xué)弟學(xué)妹們的要求,我把我考研時期整理的資料免費分享給大家啦祥诽。因 but因為我簡書實在是經(jīng)常忘記打開譬圣,所以找不到我...
- 前言 鞏固Servlet+JSP開發(fā)模式,做一個比較完整的小項目. 成果圖 該項目包含了兩個部分阔挠,前臺和后臺飘庄。 前...
- 面向?qū)ο?對象 類 類和對象的關(guān)系 如何創(chuàng)建類 Student類 如何創(chuàng)建對象 測試類 成員變量和局部變量 測試 ...
- 寫在前面:對吃的快買的也快的吃書狂魔來說跪削,偶爾同一本書買重復(fù)的事經(jīng)常發(fā)生谴仙。還有時想記錄一下一年究竟能讀幾本書,可是...