问答详情
源自:1-9 经验总结

结合集合的内容再来做一遍,成就感ganggang的

package rentsystem;

public class Book {      //为什么创建这个类?因为我需要很多本书
    private int id;    //书应该有编号,一会写简单点的
    private String name;  //书有书名,随便来几本计算机的
    public Book(int id,String name){
        this.id =id;
        this.name=name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {  //外来人,你别乱改我的编号
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {  //也别想乱改我的书名
        this.name = name;
    }
}
————————————————————————————————————
package rentsystem;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Scanner;
public class Library {

    private List<Book> bookshelf;//我的图书馆怎么会没有装书的书架呢?
    public Library(){
        this.bookshelf=new ArrayList();
    }
    
    public void addBooks(){     //该放点书到书架上去
        Book book1=new Book(1,"离散数学");     //丢一本上去
        bookshelf.add(book1);
        
        Book book2=new Book(2,"C语言");    //再来一本
        bookshelf.add(book2);
        //这2本粘在一起了,一起扔上去算了
        Book[] books2={new Book(3,"组成原理"),new Book(4,"数据结构")};
        bookshelf.addAll(Arrays.asList(books2));
    }
    
    public void initialIndex(){   //初来乍到,如何使用这个图书馆
        try{
            Scanner input=new Scanner(System.in);
            System.out.println("请按要求输入:1.按序号检索;2.按书名检索");
            int a=input.nextInt();
            if(a==1){
                index1();
            }else if(a==2){
                index2();
            }else{
                System.out.println("您的输入有误,请按照要求输入!");
                initialIndex();
            }
        }catch(Exception e){
            System.out.println("请输入1或2进行检索!");
            initialIndex();
        }
    }
    //按数字检索
    public void index1(){    //再怎么使用这个图书馆?
        try{
            Scanner input=new Scanner(System.in);
            System.out.println("请输入图书序号:");
            int i=input.nextInt();
            System.out.println("找到书籍:"+bookshelf.get(i-1).getId()+":"+bookshelf.get(i-1).getName());
        }catch(Exception e){
            System.out.println("输入有误,请重新输入。");
            index1();
        }
    }
    
    public void index2(){    //我又要通过一个方法操作图书馆的对象了
        try{
            Scanner input=new Scanner(System.in);
            System.out.println("请输入需要查找的书名:");
            String name=input.next();
            int size=bookshelf.size();
            int i=0;
            for(;;i++){
                if(bookshelf.get(i).getName().equals(name))
                    break;
            }
            System.out.println("找到书籍:"+bookshelf.get(i).getId()+":"+bookshelf.get(i).getName());
        }catch(Exception e){
            System.out.println("您要找的书目不存在!请重新查找:");
            index2();
        }
    }
}
——————————————————————————————————
package rentsystem;

public class Borrow {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Library l=new Library();
        System.out.println("欢迎来到图书馆,即将导入所有书目,请稍后……");
        l.addBooks();
        System.out.println("导入成功,可以开始检索。");
        l.initialIndex();
    }
}
——————————————————————————————————————————
大家一起赚积分。


提问者:七九九 2016-02-27 20:09

个回答

  • 小小人_小叮当
    2016-02-28 14:25:59
    已采纳

    *-*good!

  • 慕神6782269
    2016-12-19 15:44:51

    for(;;i++)是什么意思啊,这句话求助

    还有就是你这个你没说谁是谁的继承类,我运行不出来啊,求助,谢谢各位大神指教下

  • Aliol
    2016-07-20 13:34:06

    cool!

  • 鱼罐头
    2016-04-11 22:40:57

    写的很不错~有参考价值!

  • 慕码人1578541
    2016-04-07 11:41:49

    nice啊,好久没练没思绪不知道怎么写,你这么一些全明白了