Java 如何从编号列表中取回一本书?

Java 如何从编号列表中取回一本书?,java,mongodb,Java,Mongodb,正如您所看到的,我正试图从我在MongoDB中创建的图书编号列表中取回一本书。我正在从数据库中很好地取回这些书,但当我试图从中提取出该书列出的编号时,我无法取回,因为这行代码: bookNum=book.get(选项-1) 下面列出了我的代码供您帮助。任何帮助都将不胜感激 //Find a book in the bookInfo database Scanner input = new Scanner(System.in); System.out.print("Enter th

正如您所看到的,我正试图从我在MongoDB中创建的图书编号列表中取回一本书。我正在从数据库中很好地取回这些书,但当我试图从中提取出该书列出的编号时,我无法取回,因为这行代码:

bookNum=book.get(选项-1)

下面列出了我的代码供您帮助。任何帮助都将不胜感激

//Find a book in the bookInfo database
    Scanner input = new Scanner(System.in);
    System.out.print("Enter the Title of a Book: ");
    String book = input.nextLine();
    int referenceNum = 0;
    BasicDBObject query = new BasicDBObject();
    query.put("Title", 
            new BasicDBObject("$regex", book)
            .append("$options", "i"));
    MongoCursor<Document> cursor = collection.find(query).iterator();

    while(cursor.hasNext()) {
        Document bookInfo = cursor.next();
        referenceNum++;
        System.out.println(referenceNum + ")" + bookInfo.getString("Title"));

    }
    System.out.print("\nEnter selection number (0 to quit): ");
    Scanner inp = new Scanner(System.in);
    int choice = inp.nextInt();
    String bookNum;
    // choice not 0 and not too high
    if(choice > 0 && choice <= referenceNum) {
        bookNum = book.get(choice - 1);
    }
    else {
        bookNum = "0";
    }
}
//在bookInfo数据库中查找一本书
扫描仪输入=新扫描仪(System.in);
System.out.print(“输入书名:”);
String book=input.nextLine();
int referenceNum=0;
BasicDBObject查询=新建BasicDBObject();
query.put(“Title”,
新的BasicDBObject($regex),book)
.附加(“$options”,“i”);
MongoCursor=collection.find(query.iterator();
while(cursor.hasNext()){
Document bookInfo=cursor.next();
referenceNum++;
System.out.println(referenceNum+“”“+bookInfo.getString(“Title”));
}
系统输出打印(“\n输入选择编号(0退出):”;
扫描仪inp=新扫描仪(System.in);
int choice=inp.nextInt();
字符串bookNum;
//选择不为0且不太高

如果(choice>0&&choice问题:从数据库获取的书籍列表不会存储在任何位置

以下是更新后的代码:

// Find a book in the bookInfo database
Scanner input = new Scanner(System.in);
System.out.print("Enter the Title of a Book: ");
String book = input.nextLine();
int referenceNum = 0;
BasicDBObject query = new BasicDBObject("Title", new BasicDBObject("$regex", book).append("$options", "i"));
MongoCursor<Document> cursor = collection.find(query).iterator();
List<String> books = new ArrayList<>();

while (cursor.hasNext()) {
    Document bookInfo = cursor.next();
    referenceNum++;
    System.out.println(referenceNum + ")" + bookInfo.getString("Title"));
    books.add(bookInfo.getString("Title"));
}

System.out.print("\nEnter selection number (0 to quit): ");
int choice = input.nextInt();
String bookNum;

// choice not 0 and not too high
if (choice > 0 && choice <= referenceNum) {
    bookNum = books.get(choice - 1);
} else {
    bookNum = "0";
}

// Closing the scanner
input.close();

//在bookInfo数据库中查找一本书
扫描仪输入=新扫描仪(System.in);
System.out.print(“输入书名:”);
String book=input.nextLine();
int referenceNum=0;
BasicDBObject query=newBasicDBObject(“Title”,newBasicDBObject(“$regex”,book”)。追加(“$options”,“i”);
MongoCursor=collection.find(query.iterator();
List books=new ArrayList();
while(cursor.hasNext()){
Document bookInfo=cursor.next();
referenceNum++;
System.out.println(referenceNum+“”“+bookInfo.getString(“Title”));
books.add(bookInfo.getString(“Title”);
}
系统输出打印(“\n输入选择编号(0退出):”;
int choice=input.nextInt();
字符串bookNum;
//选择不为0且不太高
如果(选项>0&&choice)