基于JavaSE的简单图书管理系统的实现
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class 作业1 { public static List<Book> bookList = new ArrayList<>(); public static void main(String[] args) throws Exception { File file = new File("book.txt"); System.out.println(file.length()); if (file.length() > 0) { ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); bookList = (List<Book>) ois.readObject(); } while (true) { System.out.println("欢迎访问图书管理系统" + " "); System.out.println(" " + "1.添加图书"); System.out.println(" " + "2.修改图书"); System.out.println(" " + "3.查看所有图书"); System.out.println(" " + "4.退出"); System.out.print("请选择:"); Scanner sc = new Scanner(System.in); String choose = sc.next(); switch (choose) { case "1": add(); break; case "2": update(); break; case "3": select(); break; case "4": exit(); break; default: System.err.println("您的输入错误!请重新输入"); } } } private static void add() throws FileNotFoundException, IOException, ClassNotFoundException { Scanner sc = new Scanner(System.in); System.out.print("请输入你要添加的图书的书名:"); String bookName = sc.nextLine(); System.out.print("请输入你要添加的图书的价格:"); Double price = sc.nextDouble(); bookList.add(new Book(bookName, price)); System.out.println("添加成功!"); System.out.println(); } private static void exit() throws FileNotFoundException, IOException, ClassNotFoundException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("book.txt")); oos.writeObject(bookList); System.out.println("下次再见"); System.exit(0); } private static void select() throws FileNotFoundException, IOException, ClassNotFoundException { // for (Book book : bookList) { System.out.print("书名---"); System.out.print(book.getBookName()); System.out.print(" " + "价格---"); System.out.println(book.getPrice()); } } private static void update() throws Exception { System.out.print("请输入要修改的书名"); Scanner sc = new Scanner(System.in); String bookName = sc.next(); for (int i = 0; i < bookList.size(); i++) { Book book = bookList.get(i); if (bookName.equals(book.getBookName())) { System.out.print("请输入想要修改的价格:"); double price = sc.nextDouble(); bookList.add(new Book(book.getBookName(), price)); bookList.remove(book); System.out.println("修改成功"); return; } } System.err.println("没有这本书。。。"); } }
附: Book类
import java.io.Serializable; public class Book implements Serializable{ private String bookName; private Double price; public String getBookName() { return bookName; } public void setBookName(String bookName) { this.bookName = bookName; } public Double getPrice() { return price; } public void setPrice(Double price) { this.price = price; } public Book(String bookName, Double price) { super(); this.bookName = bookName; this.price = price; } public Book() { super(); } @Override public String toString() { return "Book [bookName=" + bookName + ", price=" + price + "]"; } }
上一篇:
IDEA上Java项目控制台中文乱码