一个简陋的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;
        }
    }
  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java 模拟银行自助终端系统

    一. 本系统模拟银行用户使用ATM机开户.查询.存款.取款功能,要求使用java语言编程实现. 说明: 1. 对于数据输入异常,可使用java异常处理机制进行处理. 2. 评分将以功能实现与代码规范性相结合的方式进行考核. 3. 如果对项目需求有疑问,可以随时以QQ留言方式联系我进行咨询. 4. 国庆放假期间,每天都有老师在公司值班,10月4日是我在公司值班,10月7日正常上班,欢迎大家到公司来做项目. 二. 项目功能要求: 项目开始运行显示主菜单为: 银行自助终端系统 ************

  • 使用Java编写一个简单的Web的监控系统

    公司的服务器需要实时监控,而且当用户空间已经满了,操作失败,或者出现程序Exception的时候就需要实时提醒,便于网管和程序员调式,这样就把这个实时监控系统分为了两部分,   第一部分:实时系统监控(cpu利用率,cpu温度,总内存大小,已使用内存大小) 第二部分:实时告警 由于无刷新实时性,所以只能使用Ajax,这里没有用到任何ajax框架,因为调用比较简单 大家知道,由于java的先天不足,对底层系统的调用和操作一般用jni来完成,特别是cpu温度,你在window下是打死用命令行是得不到

  • 图书管理系统java版

    本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改. 内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出版日期.书号.价格字段.设计一个GUI界面进行书目管理.在该界面上有四个选项卡,分别是查询.插入.删除.修改.点击查询选项卡,出现的界面上有书名.作者.出版社.书号四个文本框,一个按钮和一个只读文本区.文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的"查询"按钮,可以在界面

  • 简单实现Java版学生管理系统

    本文实例为大家分享了Java实现学生管理系统的具体代码,供大家参考,具体内容如下 package BookDemo_1; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test { public static void main(String[] args) { StudentSys stuSys=new StudentSys("学生管理系统"); stuSys.initWi

  • java学生信息管理系统设计

    本例的学生信息添加进入数据库的事务(可以提交事务,事务回滚,用本地线程完善) 主页面index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <htm

  • Java+Mysql学生管理系统源码

    最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:dingyelf@aliyun.com 此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改. 开发步骤:  

  • JAVA实现简单系统登陆注册模块

    前期准备 首先要先明确有个大体的思路,要实现什么样的功能,了解完成整个模块要运用到哪些方面的知识,以及从做的过程中去发现自己的不足.技术方面的进步大都都需要从实践中出来的. 功能:用户注册功能+系统登录功能+生成验证码 知识:窗体设计.数据库设计.JavaBean封装属性.JDBC实现对数据库的连接.验证码(包括彩色验证码)生成技术,还有就些比如像使用正则表达式校验用户注册信息.随机获得字符串.对文本可用字符数的控制等 设计的模块预览图: 彩色验证码预览图: 所用数据库:MySQL 数据库设计

  • java联系人管理系统简单设计

    本文实例为大家分享了java联系人管理系统毕业设计,供大家参考,具体内容如下 要求:  请使用XML保存数据,完成一个联系人管理系统.       用户必须经过认证登录后方可以使用系统.       注册.增加.删除.查看联系人功能.        分模块进行设计. 两层框架-用户交互层,Dao层.             其他支持层-数据封装层.             工具类-加密,工厂Bean. 开发步骤: 第一步:设计数据结构-XML. 第一步:设计数据结构-XML. 第三步:准备资源并

  • Java实现排球比赛计分系统

    初步计划: 或许由于个人原因,排球计分系统在假期就完成了,一直未写博客,就这样一直在推就是不想写,在加上过完年就工作了,可能刚实习工作比较紧所以一直等到现在. 写这个系统之前我简单构思了一下,因为离校前我去洛阳参加了一个多月的Java培训,所以写项目用的ide是Java环境.刚开始考虑用jsp做界面,架构用mvc,但是后来一想工作量太大而且效果也不是很好.最终写了纯Java代码,在虚拟机上展示. 需求分析: 排球竞赛为五局三胜制,每局比赛中得够25分并且领先对方2分以上的一方将获得一局胜利,先获

  • java编写简单的ATM存取系统

    新手练手必备~ 密码账户为: 先创建账户类: 复制代码 代码如下: package cn.Atm; /** * @author 偶my耶 */ import java.io.*; import com.project.project; public class Account {   private String number=null;   private String name=null;   private String password=null;   private double mo

随机推荐