1. 程式人生 > >### 製作簡單的圖書管理系統 實現新增圖書 顯示新增的圖書 根據圖書名查詢圖書 刪除圖書

### 製作簡單的圖書管理系統 實現新增圖書 顯示新增的圖書 根據圖書名查詢圖書 刪除圖書

//1.建立一個AfConsole類

package BookManagementSystem;


import java.io.BufferedReader;
import java.io.InputStreamReader;


public class AfConsole
{
BufferedReader reader; 


public AfConsole()
{
InputStreamReader m = new InputStreamReader(System.in);
reader = new BufferedReader(m);
}

// 輸出顯示一個字串
public void print(String s)
{
System.out.print(s);
}
// 輸出顯示一個字串(並換行)
public void println(String s)
{
System.out.println(s);
}

// 從控制檯讀取使用者輸入:讀取一個字串
//     如果使用者直接按了回車,則返回預設值。
public String readString(String defValue)
{
try {
String s = reader.readLine();
if(s.trim().length() == 0)
{
return defValue;
}
return s;
}catch(Exception e)
{
return defValue;
}

}

// 從控制檯讀取使用者輸入:讀取一個整數
//     如果使用者直接按了回車,則返回預設值。
public Integer readInt(Integer defValue)
{
try {
String s = readString(null);
return Integer.valueOf( s );
}catch(Exception e)
{
return defValue;
}
}

}

//2.建立一個圖書類 Book

package BookManagementSystem;//包名



public class Book {
private String id;//圖書編號
private String name;//圖書名
private String category;//圖書類別
private String publishers;//圖書出版社
private String buytime;//購書時間
public Book(String id,String name,String category,String publishers,String buytime){//建立一個帶引數的建構函式
this.id = id;
this.name = name;
this.category = category;
this.publishers = publishers;
this.buytime = buytime;
}
public String getId() {//封裝操作
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getPublishers() {
return publishers;
}
public void setPublishers(String publishers) {
this.publishers = publishers;
}
public String getBuytime() {
return buytime;
}
public void setBuytime(String buytime) {
this.buytime = buytime;
}

}

//3,建立一個管理類  Management

package BookManagementSystem;//包名

import java.util.ArrayList;//匯入ArrayList包


public class Management
{
private ArrayList container = new ArrayList();
//private AfConsole console = new AfConsole();

public Management()
{

}


// 新增一個圖書物件
public void add (Book s)
{
container.add( s );
}

// 列出所有圖書物件
public void list()
{
for (int i=0; i<container.size(); i++)
{
Book s = (Book) container.get(i);

System.out.println("Book: " +"\t"+ s.getId()+"\t"+s.getName()+"\t"+s.getCategory()+"\t"+s.getPublishers()+"\t"+s.getBuytime());
}
}

// 根據圖書名來查詢一個物件
public Book find( String name)
{
for (int i=0; i<container.size(); i++)
{
Book s = (Book) container.get(i);

if(name.equals( s.getName()))
{
return s;
}
}
return null;
}

// 刪除
public void remove (String id)
{

}

}

//4.建立一個主操作類Example     由於控制檯原因在新增漢字資訊時注意移動滑鼠只‘’:“處輸入資訊

package BookManagementSystem;


public class Example
{


public static void main(String[] args)
{
Management sys = new Management();

AfConsole console = new AfConsole();
console.println("*** 歡迎進入圖書管理系統 ***");

while(true)
{
console.print("請輸入所需命令(add/list/find/remove) > ");

// 讀取使用者輸入的命令
String cmd = console.readString("");

if(cmd.equals("add"))
{

console.print("輸入圖書編號");
String id = console.readString("");
console.print("輸入圖書名: ");
String name = console.readString("");
console.print("輸入圖書類別: ");
String category = console.readString("");
console.print("輸入圖書出版社: ");
String publishers = console.readString("");
console.print("輸入購書時間: ");
String buytime = console.readString("");

Book s = new Book(id, name, category,publishers,buytime);
sys.add( s );
console.println("成功新增一條圖書資訊");
}
else if(cmd.equals("list"))
{
sys.list();
console.println("列表完成");

}
else if(cmd.equals("find"))
{
console.print("請輸入要查詢的圖書名: ");
String name = console.readString("");
Book s = sys.find(name);
if(s != null)
{
console.println("找到圖書: " + s);
}
else
{
console.println("沒有找到");
}
}
else if(cmd.equals("remove"))
{

}
else
{
console.println("不能識別的命令: " + cmd);
}

// 處理使用者的命令
// console.println(cmd + "OK");
}


}


}