一個粗陋的java圖書治理體系。本站提示廣大學習愛好者:(一個粗陋的java圖書治理體系)文章只能為提供參考,不一定能成為您想要的結果。以下是一個粗陋的java圖書治理體系正文
本文代碼為原創一個粗陋的治理體系,只做功效的測試。並沒有去完美一切應有的功效,只做了輸出輸入查找,僅供參考!
菜單部門:
import java.util.Scanner;
public class Menu {
int Min = 1;
int Max = 3;
public void getMenu(){
System.out.println("1、顯示/2、輸出/3、查找");
}
public void getFindMenu(){
System.out.println("1、編號/2、書名/3、作者");
}
public int setMenu(){
System.out.println("輸出序號:");
Scanner reader = new Scanner(System.in);
int num = reader.nextInt();
if(num >= Min || num <= Max)
return num;
else
return -1;
}
}
重點的治理部門:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.Scanner;
import java.io.IOException;
public class Book {
public void find(){
Menu menu = new Menu();
menu.getFindMenu();
Scanner reader = new Scanner(System.in);
int num = menu.setMenu();
switch(num){
case 1:
System.out.println("請輸出編號");
Find(reader.next(), 0);
break;
case 2:
System.out.println("請輸出書名");
Find(reader.next(), 1);
break;
case 3:
System.out.println("請輸出作者");
Find(reader.next(), 2);
break;
}
}
public void Find(String s,int n){
try {
Scanner in = new Scanner(new File("res/Book.txt"));
while (in.hasNextLine()) {
String str = in.nextLine();
String[] book = str.trim().split("#");
if(book[n].compareTo(s) == 0)
System.out.println(book[0] +" "+ book[1] +" "+ book[2]);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public String findNum(String s,int n){
try {
Scanner in = new Scanner(new File("res/Book.txt"));
while (in.hasNextLine()) {
String str = in.nextLine();
String[] book = str.trim().split("#");
if(book[n].compareTo(s) == 0)
return book[n];
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return "沒有找到";
}
public String message(){
Scanner reader = new Scanner(System.in);
String str = "";
String s = "";
System.out.println("請輸出編號");
str = reader.next();
if(findNum(str,0).compareTo("沒有找到") != 0){
System.out.println("此編號存在輸出毛病");
return "@@!!";
}
s += str + "#";
System.out.println("請輸出書名");
str = reader.next();
s += str + "#";
System.out.println("請輸出作者");
str = reader.next();
s += str + "#\n";
return s;
}
public void setBook() {
FileOutputStream fop = null;
File file;
String content = message();
if(content.compareTo("@@!!") == 0)
return ;
try {
file = new File("res/Book.txt");
fop = new FileOutputStream(file,true);
byte[] contentInBytes = content.getBytes();
fop.write(contentInBytes);
fop.flush();
fop.close();
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fop != null) {
fop.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void getBook() {
try {
Scanner in = new Scanner(new File("res/Book.txt"));
while (in.hasNextLine()) {
String str = in.nextLine();
splitt(str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public static String[] splitt(String str) {
String[] book = str.trim().split("#");
for (int i = 0; i < book.length; i++) {
System.out.println(book[i]);
}
System.out.println("\n*********************");
return book;
}
}
主函數部門:
public class ManageBook {
public static void main(String[] agse){
Menu menu = new Menu();
Book book = new Book();
while(true){
menu.getMenu();
int num = menu.setMenu();
switch(num){
case 1:
book.getBook();
break;
case 2:
book.setBook();
break;
case 3:
book.find();
break;
case -1:
System.out.println("輸出有誤");
break;
}
}
}
}
以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。