我必须为我的计算机科学课做一个项目。问题是:
图书馆的顾客最多可以借三本书。因此,赞助人有一个名字和最多三本书。一本书有作者和书名。设计和实现两个类,Patron 和 Book,来表示这些对象和以下行为:
- 客户端可以用标题和作者实例化一本书
- 客户可以检查但不能修改书名或作者
- 客户可以询问顾客是否借过一本书(由书名标识)。
- 客户可以告诉顾客归还给定的书(由标题标识)。
- 客户可以告诉顾客借一本给定的书。
Patron 类应该为每本书使用一个单独的实例变量(总共三个)。这些变量中的每一个最初都是空的。借书时,读者会查找不为空的变量。如果没有找到这样的变量,则该方法返回 false。如果找到空变量,则将其重置为新书并且该方法返回 true。类似的考虑适用于其他方法。使用方法 aString.equals(aString) 比较两个字符串是否相等。确保为您的类包含适当的 toString 方法并使用测试程序对其进行测试。
这是我的Client
课程,其中包含main
方法: http: //pastebin.com/JpxCT2F6
现在我的问题是,当我运行程序时,程序不会等待用户输入。以下是 Eclipse 控制台中出现的内容:
Please enter title of book 1:
s
Please enter author of book 1:
e
Please enter title of book 2:
f
Please enter author of book 2:
t
Please enter title of book 3:
g
Please enter author of book 3:
d
Which book would you like to check for?
s
The patron has taken out the book s
Would you like to return a book? (1 yes or 2 no)
1
Which book would you like to return?
Sorry, could not find the book
Would you like to take out a book? (1 yes or 2 no)
2
Invalid option
Which book would you like to check for?
The patron does not have taken out
Would you like to return a book? (1 yes or 2 no)
如您所见,控制台在“您想归还哪本书?”之后不会等待用户输入。相反,它需要一个空白值。后来在代码中,我输入了“2”,这意味着不返回任何书,而是给我一个无效的输入输出。