十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
您好,这个功能要实现并不难,如果您还是学生,应该用的技术都是基础技术来实现对吧。如果是,那么给你一些提示,所使用的技术如,数组或集合,对象,相关变量属性,循环,swatch选择 循环等等。
成都创新互联公司专注于成都网站建设、网站设计、网页设计、网站制作、网站开发。公司秉持“客户至上,用心服务”的宗旨,从客户的利益和观点出发,让客户在网络营销中找到自己的驻足之地。尊重和关怀每一位客户,用严谨的态度对待客户,用专业的服务创造价值,成为客户值得信赖的朋友,为客户解除后顾之忧。
思路:浏览图示其实就是读取图书的列表或者读取某一本图书的详情。
借书:从图书列表中将对应的书籍数量减掉一定数量。比如 num--;
还书:同借书一样,相加即可;
查询,就是根据书名或者相关信息来查询书库中的图书,一般从数据库获取到这些数据,如果更简单,那就是从集合里面查询。
退出,那就更简单了,exit。
我不清楚你是要使用JavaWeb来实现还是使用C/S架构来实现,还是使用控制台来实现。但是大概的思路都一致。但是复杂度不一样,看你做到什么样的效果和水平。
switch(key){
case 1:
//借书
break;
case 2:
//还书
break;
}
HashMap的常用方法
map的存储和修改方式 map.put(key, value);
map是否包含某个元素map.containsKey(key);
map某个key的value值map.get(key);
参考代码
import java.util.HashMap;
public class BookTest {
static HashMapString, Integer map=new HashMapString, Integer();
static{//初始化图书信息
map.put("三国志", 8);
map.put("红楼梦", 0);
map.put("西游记", 15);
}
public static void main(String[] args) {//main方法
jieShu("水浒");
jieShu("三国志");
huanShu("三国志");
jieShu("红楼梦");
huanShu("红楼梦");
jieShu("红楼梦");
}
public static void jieShu(String name){//借书
if(!map.containsKey(name)){//查询图书馆是否有这本书
System.out.println("书籍:"+name+"\t查无此书!");
return;
}
if(map.get(name)=0){//查询图书数量是否为0
System.out.println("书籍:"+name+"\t已全部借出,请明日在来");
return;
}
map.put(name, map.get(name)-1);
System.out.println("书籍:"+name+"\t借书成功。"+"\t库存:"+map.get(name));
}
public static void huanShu(String name){//还书
if(!map.containsKey(name)){
System.out.println("查无此书");
}else{
map.put(name, map.get(name)+1);
System.out.println("书籍:"+name+"\t还书成功。"+"\t库存:"+map.get(name));
}
}
}
测试输出
书籍:水浒 查无此书!
书籍:三国志 借书成功。 库存:7
书籍:三国志 还书成功。 库存:8
书籍:红楼梦 已全部借出,请明日在来
书籍:红楼梦 还书成功。 库存:1
书籍:红楼梦 借书成功。 库存:0
package Management;
import java.util.List;
import java.util.ArrayList;
public class Management {
public static ListBook bookList=null;
public Management() {
// TODO Auto-generated constructor stub
bookList=new ArrayListBook(100);
}
public void addbook(Book book)
{
bookList.add(book);
}
public Book[] findBook(String bookName)
{
Book [] book=new Book[100];
int j=0;
for(int i=0;ibookList.size();i++)
{
if(bookName.equals(bookList.get(i).getName()))
{
book[j]=bookList.get(i);
j++;
}
}
return book;
}
public Book[] ShowAllBook()
{
Book[]book=new Book[100];
for(int i=0;ibookList.size();i++)
{
book[i]=bookList.get(i);
bookList.get(i).printInfo();
}
return book;
}
}
class Book
{
private String name;
private String author;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
void printInfo()
{
System.out.println("书名为"+this.name+"作者为"+this.author);
}
}
class Reader
{
private String name;
public void borrowbook(Book book) {
Management liabry=new Management();
for(int i=0;iliabry.bookList.size();i++)
{ if(book.getAuthor().equals(liabry.bookList.get(i).getAuthor())book.getName().equals(liabry.bookList.get(i).getName()))
{
liabry.bookList.remove(i);
System.out.println("借书成功!");
break;
}
}
}
public void backbook(Book book) {
Management liabry=new Management();
liabry.addbook(book);
System.out.println("还书成功");
}
}
给你提供大体思路:
学生和老师都是User对象,User里面用一个字段(比如userType)来区别是老师还是学生。
借书的时候,先取得当前User,查出当前已经借书数量和userType的最大借书数量,以及当前要借书的数量,做判断,看是否能继续借书。
如果能,则读取当前userType对应的最长借书期限,做匹配。
只是个大体逻辑,其实还有很多细节,仅供参考, 有什么不懂的话私信我就行。
首先这个问题涉及到三个对象和一个动作,即图书对象,学生对象和借书信息的对象,和完成“借书”的动作,图书对象又可以包含图书编号,书名,作者,出版社,出版日期等等,学生对象包含学生编号,姓名,性别,班级,系别等等。借书信息对象包含图书编号,学生编号,借书时间,借书数目等等
写好这三个类,然后分别new一个图书和学生的对象实例,
接着写一个借书动作过程的方法,将图书对象和学生对象的属性保存到借书信息的对象中....代码略