• 图书管理控制台程序---帮助类


    package week6.bookManagement;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    import java.util.Properties;

    /**
    *
    * @author quanby
    *
    */
    public class BookUtil {

    /**
    * 书籍帮助类
    */
    public BookUtil() {
    super();
    // TODO Auto-generated constructor stub
    }

    /**
    * 判断输入的用户名和密码是否正确
    *
    * @param userId
    * @param userPWD
    * @return 账号密码匹配的布尔值
    */
    public boolean checkPass(String userId, String userPWD) {
    boolean result = false;//
    Properties properties = new Properties();
    try {
    properties.load(new FileInputStream("./src/week6/bookManagement/user.properties"));
    if (userId.equals(properties.get("userId")) && userPWD.equals(properties.get("userPWD"))) {
    result = true;
    }
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    return result;
    }

    /**
    * 显示书籍,当isAll为true时,显示全部书籍,否则显示可借书籍
    *
    * @param books
    * 一个数量大于零的书籍列表
    * @param isAll
    * 是否显示全部的书籍列表
    */
    public void showBooks(ArrayList<Book> books, boolean isAll) {
    int result = 0;// 将可出借的书籍数量初始为0
    Book book;
    for (int i = 0; i < books.size(); i++) {
    book = books.get(i);
    if (!isAll) {
    if (book.getStatus() == 0) {
    result++;
    System.out.println("书籍id:" + book.getBookID() + " " + "书名:" + book.getBookName() + " " + "作者:"
    + book.getAuthor() + " " + "价格:" + book.getPrice());
    }
    if (result == 0) {
    System.out.println("对不起,无法借书,全部书籍已借出!");
    }
    } else {
    System.out.println("书籍id:" + book.getBookID() + " " + "书名:" + book.getBookName() + " " + "作者:"
    + book.getAuthor() + " " + "价格:" + book.getPrice());
    }
    }
    }

    /**
    * 修改一本书的状态
    *
    * @param books
    * 一个书籍列表
    * @param bookID
    * 要修改的书籍id
    * @param status
    * 要修改的书籍状态,0--归还;1--表示借出
    * @return 修改后的书籍列表
    */
    public ArrayList<Book> changeStaus(ArrayList<Book> books, String bookID, int status) {
    int result = 0;
    Book book;
    for (int i = 0; i < books.size(); i++) {
    book = books.get(i);
    // 存在书籍且状态与传递的状态不一致时才执行操作
    if (book.getBookID().equals(bookID) && book.getStatus() != status) {
    book.setStatus(status);
    books.set(i, book);
    writeLog(book, status);
    result = 1;
    }
    }
    if (result == 1) {
    System.out.println("操作成功!");
    } else {
    System.out.println("操作失败!");
    }
    return books;
    }

    /**
    * 对书籍进出记录日志
    *
    * @param book
    * 书籍
    * @param status
    * 书籍原来的状态,0--正在归还;1--正在借出
    */
    private void writeLog(Book book, int status) {
    File file = new File("./src/week6/bookManagement/bookLog.txt");
    FileOutputStream stream;
    Calendar date = new GregorianCalendar();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
    String time = sdf.format(date.getTime());
    String t = "出借";
    if (status == 0) {
    t = "归还";
    }
    try {
    stream = new FileOutputStream(file, true);
    byte[] bytes = (time+t+"<<" + book.getBookName() + ">>" + " ").getBytes();
    stream.write(bytes);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }

  • 相关阅读:
    kafka关于修改副本数和分区的数的案例实战(也可用作leader节点均衡案例)
    kafka集群监控之kafka-manager部署(kafka-manager的进程为:ProdServerStart)
    flume配置kafka channle的实战案例
    HTML&CSS基础-表格简介
    HTML&CSS基础-雪碧图的制作和使用
    Hadoop生态圈-使用Ganglia监控flume中间件
    JavaScript基础知识-条件运算符(三元运算符)
    初识Apache Kafka 核心概念
    Hadoop生态圈-CentOs7.5单机部署ClickHouse
    安装Cloudera manager agent步骤详解
  • 原文地址:https://www.cnblogs.com/quanby/p/5460444.html
Copyright © 2020-2023  润新知