1. 程式人生 > >Java實現簡單的圖書管理系統

Java實現簡單的圖書管理系統

最近在學習Java網路程式設計,寫了一個圖書管理系統練手。使用檔案的輸入和輸出類實現對書記資料的儲存和讀取。

FileInputStream和FileOutputStream類為建立一個與檔案相關的輸入與輸出流,提供從檔案中讀取或者寫入一個位元組或一組資料的方法。而ObjectOutputStream是用來輸入物件。最後程式還有一點小問題,加入書籍會覆蓋以前加入的書籍資料,之後有時間再修改。

package test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;

public class Jmain {

	/**
	 * @param args
	 */
	static int a;

	static FileOutputStream nos=null;
	static FileInputStream nis=null;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			nos=new FileOutputStream("savenum.txt",true);
			nis=new FileInputStream("savenum.txt");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		m();
	}
	public static void m(){
		
		Scanner snr = new Scanner(System.in); 
		System.out.println("選擇功能");
		System.out.println("1 加入書籍");
		System.out.println("2 查詢書籍");
		System.out.println("3 退出");
		a=snr.nextInt();
		d(a);
	}
	public static void d(int a){
		int i=0,n,isbn,num=0;
		Scanner sn = new Scanner(System.in); 
		switch(a){
		case 1:{
			System.out.println("輸入需要加入的數量");
			i=sn.nextInt();
			try {
				nos.write(i);
			} catch (IOException e) {
				e.printStackTrace();
			}
			inputbook.newb();
			for(n=0;n<i;n++){
				inputbook.input();
			}
			m();
		}
		case 2:{
			try {
				num=nis.read();
				while(num==-1){
				num+=nis.read();}
			} catch (IOException e) {
				e.printStackTrace();
			}
			//System.out.println(num);
			System.out.println("輸入isbn");
			isbn=sn.nextInt();
			findBook.fba();
//			System.out.println(num);
			for(n=0;n<num;n++){
			findBook.fb(isbn);
			}
			m();
		}
		case 3:{
			break;
		}
		}
		
	}
}
package test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;

public class findBook {
	static ObjectInputStream ois;
	public static void fba(){
		try {
			ois=new ObjectInputStream(new FileInputStream("save.txt"));
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static void fb(int isbn){
		
		inputbook book=new inputbook() ;
	try {
		book=(inputbook) ois.readObject();
	} catch (IOException e1) {
		// TODO Auto-generated catch block
		e1.printStackTrace();
	} catch (ClassNotFoundException e1) {
		// TODO Auto-generated catch block
		e1.printStackTrace();
	}
		if(isbn==book.isbn)
		{
			System.out.println("ISBN:");
			System.out.println(book.isbn);
			System.out.println("價格:");
			System.out.println(book.price);
			System.out.println("書名:");
			System.out.println(book.name);
		}
		else
			System.out.println("未找到記錄");
	
	}
}

package test;
import java.io.*;
import java.util.Scanner;
public class inputbook implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	int isbn;
	int price;
	String name;
	public int getIsbn() {
		return isbn;
	}
	public void setIsbn(int isbn) {
		this.isbn = isbn;
	}
	public int getPrice() {
		return price;
	}
	public void setPrice(int price) {
		this.price = price;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	static ObjectOutputStream fos;
	static int a=1;
	public static  void newb(){
		
			try {
				fos=new ObjectOutputStream(new FileOutputStream("save.txt"));
				a=2;
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
	public static void input(){
		int i,p;
		String n;
//		System.out.println(a);
		Scanner scanner = new Scanner(System.in); 
		inputbook book=new inputbook() ;
		System.out.println("請輸入ISBN:");
		i=scanner.nextInt();
//		System.out.println(i);
		book.setIsbn(i);
		System.out.println("請輸入書名:");
		n=scanner.nextLine();
		n=scanner.nextLine();
		book.setName(n);
		System.out.println("請輸入價格:");
		p=scanner.nextInt();
		book.setPrice(p);
		try {
			fos.writeObject(book);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}	
	}
}



相關推薦

wxpython實現簡單圖書管理系統

用wxpython實現的簡單圖書管理系統,可以實現增加圖書,刪除圖書,修改圖書,檢視圖書。後臺資料庫為mysql資料庫,採用的pymysql連線資料庫。系統介面如下: 程式碼如下: 1.書本類程式碼 #author = liuwei date

Java網上書店(圖書)管理系統的設計與實現

網上書店管理系統功能模組劃分 根據需求分析與系統功能設計目標,結合實際情況本系統功能模組設計分為如下幾個模組: 1.主頁:在這裡我們可以看見本系統的主要功能和資訊。 2.使用者註冊:在這裡我們可以註冊我們的基本資訊,其中電話和Email是比較重要的,因為我們需要對這些資訊進

用ArrayList<E>實現簡單學生管理系統

package ArrayTest; /* * 用arrayList<E>去實現學生管理系統 */ import java.util.ArrayList; import java.util.Scanner; public class StudentSystemList { //

手把手教你做jsp servlet mysql實現圖書管理系統附帶視訊開發教程和完整原始碼

上一個教程我們做的是對資料庫框架底層原理的講解,然後教大家做了一個自己的資料庫框架,這次我們做的這個圖書管理系統就是用我們上個教程自己寫的資料庫框架,整個專案做完框架執行的很穩定,沒有出現任何問題。如果你還沒有學習我們的那個資料庫框架教程的話我建議你還是先去學習那個資料庫框架的教程,地址是:ht

老師規定的不用選單寫的簡單圖書管理系統

#include<bits/stdc++.h> using namespace std; class Time { int month,day; public: Time (int b,int c) { month=b;day=c;

用ArrayList實現簡單學生管理系統

package ArrayTest; /* * 用arrayList<E>去實現學生管理系統 */ import java.util.ArrayList; import java.util.Scanner; public class StudentSyst

[原始碼和文件分享]基於C語言和SQL SERVER資料庫實現圖書管理系統

摘 要 本文根據《資料庫應用系統設計》課程要求而做。選擇圖書館管理系統設計與開發是因為覺得圖書館管理系統對我們的幫助很大,並且經常去圖書館,對圖書館的大部分功能及流程還是比較瞭解,而且現在有些地方可能還不夠完善。這次課程設計目標是建立一個比較好的圖書館管理系統,方便學生查詢,方便管理員管理,節省

Java 實現簡單的推薦系統

例子: package recommender; import java.util.Arrays; /**  * Created by legotime  */ public class r

#小案例#Java實現簡單 學生選課系統

案例要求忘記了(大概是……): 學生(學號,姓名,專業,所選課程{<3}) 老師(工號,姓名,所教課程{<3}) 課程(課程號,課程名,學分,教師,已選課學生{<30}) 選課系統程式碼如下: //teacher

python實現簡單學生管理系統

使用python實現了一個簡單的學生管理系統,包含註冊,登陸,修改密碼和簡單查詢資訊等簡單功能,後續感興趣可以自己新增上其他資訊或與已有的學生資訊表相關聯。註冊後存入資料庫對應表格中,並對密碼進行加密,表格比較簡單,只有id,姓名,密碼和is_delete四個欄位,程式碼使用

簡單圖書管理系統(含mysql)

建立一個圖書管理系統可以滿足的需求:增加讀者資訊,修改讀者資訊,登出讀者;滿足圖書基本的增、刪、改、查;使用資料庫,達到持久化操作。import java.util.Date; /** * @author 向超 * @date 2018年1月3日 下午8:50:08

Java web專案 圖書管理系統借書部分程式碼

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %> <%@ page import="com.dao.Bor

jwt,spring security ,feign,zuul,eureka 前後端分離 整合 實現 簡單 許可權管理系統 與 使用者認證的實現

本例子 包含有 一下模組:  eureka 模組,充當 註冊中心角色 user-service-api 客戶端介面和實體 user-service-provider 客戶端服務提供者 user-conusmer 客戶端消費者 zuul 模組為閘道器,用來實現統一路由

C++ 實現小型圖書管理系統

因為課程設計的原因,需要實現一個小型圖書管理系統包含功能:問題描述:設計一個系統,對圖書資訊進行管理,資訊描述:有關該系統基本資訊的描述,如:圖書名稱、圖書編號、單價、作者、存在狀態、借書人姓名、性別、學號等。基本要求:基本功能:1、新進圖書基本資訊的輸入。2、圖書基本資訊的

java中利用IO流實現簡單圖書管理系統(利用陣列和IO實現

這個案例,主要對陣列及IO流進行總結! 利用IO流實現簡單的圖書管理系統,在控制檯上列印! 功能:1,檢視所有書籍   2,新增書籍 3,刪除書籍 4,修改書籍 5,退出 package com.baojian.bookStore; import java.io.Buf

Java實現簡單圖書管理系統

最近在學習Java網路程式設計,寫了一個圖書管理系統練手。使用檔案的輸入和輸出類實現對書記資料的儲存和讀取。FileInputStream和FileOutputStream類為建立一個與檔案相關的輸入與輸出流,提供從檔案中讀取或者寫入一個位元組或一組資料的方法。而Objec

java圖書管理系統實現

題目:編寫java程式碼,實現對圖書的管理,包括增刪改查、借閱及歸還。 實現程式碼如下: import java.util.Scanner; public class BookTest { public static void main(String[] args) { Sca

flask實現簡單圖書管理系統

簡單的圖書管理系統 實現功能: 圖書管理系統: 實現圖書和作者的新增功能 實現動態查詢顯示圖書資訊 實現刪除功能 1.建立作者和書籍模型 # 作者表 class Author(db.Model): __tablename__ = "autho

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

//1.建立一個AfConsole類package BookManagementSystem;import java.io.BufferedReader;import java.io.InputStreamReader;public class AfConsole{Buffe

利用java實現基於文字的圖書管理系統(有介面)

我覺得最難的一部分就是如何實現實現增刪改查 增加:使用write直接向檔案寫入資料即可 刪除:例如通過圖書號(x)找到圖書資料,刪除圖書資料。要想實現此功能,利用一個字元陣列(Arraylist)儲存文字每行資料,分割文字每一行資料(每一行分割成書號,書名,價格等資訊等等,