代码不等待用户输入?

2023-12-03

我必须为我的计算机科学课做一个项目。问题是:

图书馆的读者最多可以借三本书。因此,赞助人有一个名字和最多三本书。一本书有作者和标题。设计并实现两个类(Patron 和 Book)来表示这些对象和以下行为:

  • 客户端可以实例化一本书,并带有标题和作者
  • 客户可以检查但不能修改书名或作者
  • 客户可以询问顾客在哪里借阅了给定的书籍(按书名标识)。
  • 客户可以告诉顾客归还给定的书籍(按书名标识)。
  • 客户可以告诉顾客借一本书。

Patron 类应该为每本书(总共三本书)使用一个单独的实例变量。 这些变量中的每一个最初都是空的。借书时,读者会查找不为空的变量。如果没有找到这样的变量,该方法返回 false。如果找到 null 变量,则将其重置为新书,并且该方法返回 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”,这意味着不返回任何书,而是给我一个无效的输入输出。


You use nextInt()在代码的第 71 行,它获取用户提供的整数答案。然后你使用nextLine() which 使扫描器前进到当前行并返回跳过的输入。。跳过的输入只是前一个的换行符nextInt()调用(它不读取整行,只读取 int)。

您可以通过调用跳过此步骤input.nextLine()在您需要输入之前一次,或者使用nextLine()代替nextInt()并将字符串转换为整数值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

代码不等待用户输入? 的相关文章

随机推荐

  • AngularJS:从模型数组中拼接模型元素时,ng-repeat 列表不会更新

    我有两个控制器 并通过 app factory 函数在它们之间共享数据 单击链接时 第一个控制器会在模型数组 pluginsDisplayed 中添加一个小部件 小部件被推送到数组中 并且此更改反映到视图中 使用 ng repeat 来显示
  • 如何找到至少2个向量中共有的元素?

    假设我有 5 个向量 a lt c 1 2 3 b lt c 2 3 4 c lt c 1 2 5 8 d lt c 2 3 4 6 e lt c 2 7 8 9 我知道我可以使用以下方法计算它们之间的交集Reduce 和 一起inters
  • C++ 失败时 istream 行为发生变化

    取自 参考参数 直到 C 11 如果提取失败 例如 如果在需要数字的地方输入了字母 则值保持不变并设置失败位 自 C 11 起 如果提取失败 则将零写入值并设置失败位 如果提取结果导致值太大或太小而无法适应值 std numeric lim
  • 使用产品风味时,每种风味中哪些文件是常见的,哪些文件是该风味特有的?

    productFlavors India USA 我们以两种产品口味为例 1 印度 2 美国 构建变体的总数将为 4 1 印度调试 2 印度发布 3 美国调试 4 美国发布 哪些文件对于所有风格都是通用的 哪些文件是特定于风格以及调试和发布
  • 如何在 Coq 中自动证明实数的简单相等?

    我正在寻找的是auto类似的策略可以证明简单的等式 例如 1 2 2 4 到目前为止 我手动尝试过的是使用ring simplify and field simplify来证明等式 即使这样效果也不好 Coq 8 5b3 下面的例子有效 R
  • 将数据从 .data 文件转换为 .csv 文件,并使用 pandas 将数据放入列中

    我想将 data 文件中的数据转换为 csv 文件 并将 data 文件中的数据放入其下带有值的列中 但是 data 文件具有特定的格式 我不知道如何将文本放入列中 data 文件如下所示 column1 column2 column3 c
  • 在提交 Ajax 时生成 CSRF 令牌 codeigniter

    您好 我正在寻找使用 ajax 提交表单时在 codeigniter 中重新生成 csrf 令牌的过程 我希望在不刷新页面的情况下重新生成令牌 有什么办法可以做到这一点吗 我根据情况在不同时间使用两种解决方案 1 方式有点乱 但推荐 获取控
  • 原始 CSS 文件中的条件 IE8 样式?

    我怎样才能只为 IE8 浏览器覆盖这个样式 我认为我不再关心 IE7 用户了 除非标记非常小 menu ul margin 0 padding 0 width 650px menu ul li display inline block wi
  • 找不到带有下划线的路由或者没有正确对待它

    我在路线中有这个 Rails application routes draw do namespace api do namespace v3 4 do 和控制器app controllers api v3 4 base controlle
  • LexResponse 输出无法理解 HTML 数据

    我在尝试让 AWS Lambda 函数在运行 SQL 查询时成功输出一系列 HTML 链接时遇到问题 private string GetEventSearchResults ILambdaContext context List
  • 如何使用 Gson 将 JSON 转换为 HashMap?

    我正在从服务器请求数据 该服务器返回 JSON 格式的数据 在发出请求时将 HashMap 转换为 JSON 一点也不难 但另一种方法似乎有点棘手 JSON 响应如下所示 header alerts AlertID 2 TSExpires
  • 如何使用 Storyboards/Cocoa 在 Swift 3.x 中引用视图的窗口

    随着 Xcode 和 Swift 中的所有更改 我无法弄清楚如何像在使用 XIB 的项目中那样处理 stotyboard 驱动的项目中的视图窗口 macOS 编程新手 如果这是基本内容 请提前道歉 使用故事板时 如何使用以下方法更改视图的窗
  • 具有 k 个部分的排序和非排序整数分区

    对于正整数n and k 让一个 k 分区n 是一个排序列表k不同的正整数加起来为n 并让给定的 等级 k 分区n是它在所有这些列表的排序列表中的位置 按字典顺序从 0 开始 例如 有两个 5 的 2 分区 n 5 k 2 1 4 和 2
  • 如何使 Eclipse Partstack 在最后一个部分关闭时不消失?

    我正在开发一个项目 该项目的主窗口由 mpartstack 组成 我在其中动态地从另一个部分添加部分 问题是 当最后一部分关闭时 mpartstack 消失 而另一部分占用所有空间 当我尝试添加新零件时 什么也没有发生 我尝试通过尝试添加新
  • 当 C 按值传递时,我的数组如何修改?

    我用 C 编写了一个简单的程序来检查两个单词是否是字谜 我的问题是 如果我传递 word one 和 word two 作为参数 这是否意味着我没有修改原始数组 我认为我正在有效地处理这些未归还的副本 这意味着我不应该能够将它们与我的 eq
  • 如何获取芒果的承运商详细信息?

    有没有API可以告诉我们手机是哪个运营商的 例如 沃达丰 祖国 当前国家 详细信息 我在 Microsoft Phone Net NetworkInformation 中找不到此类内容 我是否遗漏了某些内容 感谢帮助 您可以通过静态属性获取
  • 自定义类的比较重载方法

    我想重载个人类的比较方法 例如 如果我这样写 object1 function compare a b if a gt attribute b gt attribute return 0 else return a gt attribute
  • 用换行符绑定文本

    我绑定到带有换行符的字符串 例如 Hello nWorld 在我的模型中 现在我想使用显示模板中的值 x 但换行符未正确显示 聚合物是否为输出提供任何支持 br 用于换行 现在你最好的选择是创建一个Nl2br PolymerElement
  • Windows Phone 7 中的媒体播放器

    我正在使用 Windows Phone 7 中的媒体播放器来播放手机歌曲集中的音乐 但是当它播放音乐时 它们将是一个例外 并且错误指出 尚未调用 Framework Dispatcher Update 定期调用 Framework Disp
  • 代码不等待用户输入?

    我必须为我的计算机科学课做一个项目 问题是 图书馆的读者最多可以借三本书 因此 赞助人有一个名字和最多三本书 一本书有作者和标题 设计并实现两个类 Patron 和 Book 来表示这些对象和以下行为 客户端可以实例化一本书 并带有标题和作