java 图书馆系统 练习
话不多说 娱乐
==================================================
book 类(书本的基础属性)
package 图书管理系统01; /**
* @author CF
* @图书实体类
* 2019年3月8日
* 下午3:32:41
*/
public class book {
private String bookid;
private String bookName;
private String isbn; //出版号
private String type; //图书的类型
private int count; //当前书籍的库存量
private double price; /*
* 如果为空 或不是book类 则返回false
* 若书名相同返回true
*/
@Override
public boolean equals(Object obj) {
if(obj==null||!(obj instanceof book)) {
return false;
}
book book1=(book)obj;
return bookid.equals(book1.bookid);
} public String getBookid() {
return bookid;
}
public void setBookid(String bookid) {
this.bookid = bookid;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
管理类(实现书本的增删改查)
package 图书管理系统01; /**
* @author CF
* @图书业务管理类
*
* 2019年3月8日
* 下午3:45:28
*/
public class manage {
/*
* 查书本数量
*/
public int getbookcount() {
int count=0;
for(int i=0;i<data.books.length;i++) {
if(data.books[i].getBookid()!=null);
{
count++;
break;
}
}
return count;
}
/*
* 增加图书
* 仓库空间满返回false
*
*/
public boolean add(book book1) {
int bookcount=getbookcount();
if(data.books.length==bookcount)
return false;
//如果book不满 则book1加入最后的位置上
data.books[bookcount]=book1;
return true;
}
/**
* 删除传入的图书对象
* @param book1
* @return
*/
public boolean delete(book book1) {
int bookcount=getbookcount();
int delindex=-1; //要删除的下标
for(int i=0;i<bookcount;i++){
if(book1.equals(data.books[i])) {
delindex=i;
break;
}
}
if(delindex==0) {
return false;
}
for(int i=delindex;i<bookcount;i++){
data.books[i]=data.books[i+1];
}
return true;
}
public book find(String bookid) {
for(int i=0;i<getbookcount();i++) {
if(bookid.equals(data.books[i].getBookid())) {
return data.books[i];
}
}
System.out.println("没有找到");
return null;
}
public boolean instore(String bookid,int num) {
book book1=find(bookid);
for(int i=0;i<getbookcount();i++) {
if(bookid.equals(book1.getBookid())) {
book1.setCount(book1.getCount()+num);
return true; }
} data.books[getbookcount()].setBookid(bookid);
data.books[getbookcount()].setCount(num);
System.out.println("添加成功");
return false;
}
}
数据仓库类(用来实例化书本)
package 图书管理系统01; /**
* @author CF
* @数据仓库
* 2019年3月8日
* 下午3:50:35
*/
public class data {
public static book[] books=new book[999];
}
主函数
package 图书管理系统01; /**
* @author CF
* @测试
* 2019年3月8日
* 下午4:34:17
*/
public class main0 {
public static void main(String[] args) {
book newbook=new book();
newbook.setBookid("");
newbook.setBookName("大号"); manage newbook1=new manage();
newbook1.add(newbook);
show(newbook1);
newbook1.delete(newbook);
show(newbook1); } public static void show(manage newbook1) { if(newbook1.getbookcount()<0) {
System.out.println("null");
return;
}
for(int i=0;i<newbook1.getbookcount();i++) {
System.out.println(data.books[i].getBookid()+" "+data.books[i].getBookName()); }
}
}
===================================================================
有少许功能未实现
java 图书馆系统 练习的更多相关文章
- Java日志系统及框架分析
最近在考虑将容器(Tomcat)内的应用日志统一成slf4j + logback,主要目的有: 快速定位应用日志输出路径,方便日志的采集: 能动态调整日志的级别,方便线上问题定位: 方便在容器层面做扩 ...
- Java日志系统框架的设计与实现
推荐一篇好的文章介绍java日志系统框架的设计的文章:http://soft.chinabyte.com/database/438/11321938.shtml 文章内容总结: 日志系统对跟踪调试.程 ...
- [论文笔记] 一种Java遗留系统服务化切分和封装方法 (计算机学报, 2009)
李翔,怀进鹏,曾晋,高鹏. 一种Java遗留系统服务化切分和封装方法. 计算机学报, 32(9), 2009, p1084-1815 (gs:5) 1. 本文研究从Java遗留系统中切分并封装出Web ...
- java获取系统指定时间年月日
java获取系统指定时间年月日 private String setDateTime(String falg) { Calendar c = Calendar.getInstance(); c.set ...
- JAVA获得系统配置文件的System Properties
来个java获得系统配置文件的 public class SystemProperties { public static void main(String[] args) { Properties ...
- Java消息系统简单设计与实现
前言:由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统,类似于简书这样的,所以消息系统也类似,在用户的消息 ...
- java 根据系统日期获取前一天、后一天时间(根据初始日期推算出期望(向前/向后)日期)
1.情景展示 java 根据系统当前日期获取前一天日期.后一天日期,或者根据初始日期推算出期望(向前/向后)日期. 2.解决方案 导包 import java.text.ParseExcepti ...
- java 获取系统当前时间并格式化
java 获取系统当前时间并格式化 CreateTime--2018年5月9日11:41:00 Author:Marydon 实现方式有三种 updateTime--2018年7月23日09点32 ...
- 如何使用Java读写系统属性?
如何使用Java读写系统属性? 读: Properties props = System.getProperties(); Enumeration prop_names = props.propert ...
随机推荐
- VS配置附加包含目录技巧
把include文件夹(里面是某个库的头文件)拷到自己的项目中,添加头文件时需要使用#include"include\xxx.h"方式,如果打算使用#include"xx ...
- Linux Restricted Shell Bypass
Author: @n4ckhcker & @h4d3sw0rm Introduction Hello, so first of all let’s explain what is a rest ...
- a标签什么时候可以设置宽高
行内元素(如a标签),在文档流中的时候因为是行内元素所以无法设置宽高:而当设置了绝对定位或者浮动,会生成块框(即变成块元素),所以就可以设置宽高了
- js操作serviceWorker缓存静态文件
js操作serviceWorker缓存静态文件 serviceWorker的作用就是用来做离线应用的,在手机端程序中用的较多 先看下效果 index.html <!DOCTYPE html> ...
- 清除stoped impdp/expdp job的方法
stoped impdp/expdp job会在dba_datapump_jobs中留下一条记录,显示为not running. 清除stopped job分两种情况: 1) job能够attach ...
- c语言之字符串数组
一.字符串与字符串数组 1.字符数组的定义 char array[100]; 2.字符数组初始化 char array[100] = {'a','b','c'}; //array[0] = 'a' ...
- MySql 之 FIND_IN_SET 和IN
CREATE TABLE `test` ( `id` int(8) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `list ...
- Memcached 原理
memcached 是以一个守护进程的方式运行于一个服务器和多个服务器之间的,等待接受客户端的连接操作,客户端可以有各种语言编写.(例如PHP). php 在客户端与服务器建立连接以后,接下来的事情 ...
- lucene 第一天
Lucene/Solr 第一天 1. 课程计划 Lucene介绍 全文检索流程介绍 a) 索引流程 b) 搜索流程 Lucene入门程序 a) 索引实现 b) 搜索实现 分词器 a) 分词介绍 b ...
- Hyperledger子项目
Hyperledger由五个子项目构成: • BlockChain Explorer 展⽰和查询区块链块.事务和相关数据的 Web应⽤ • Fabric 区块链技术的⼀个实现(主要项目) • STL ...