重复该程序,直到用户选择退出

时间:2017-01-30 21:47:12

标签: java do-loops

我正在为递归的类编写程序。那部分完美无缺。但我还需要重复该程序,直到用户选择退出。

我的程序提示重复该程序但不等待响应。相反,它立即退出。

我在下面的代码中添加了评论,我相信问题所在。

createdAt

1 个答案:

答案 0 :(得分:2)

userAgain = sc.nextLine()之前添加以下代码行:

sc.nextLine();

它应该有效。对sc.nextInt()的调用并不消耗换行符\ n,因此对sc.nextLine()的调用消耗了来自nextInt的调用\ n并继续认为&#34 ;输入"在用户实际输入任何内容之前,已按下该键。最清楚的是,您可能希望在调用readInt()之后将此调用包含在nextLine()中,以便其他读取您的代码的人(或者您,稍后!)知道您为什么要包含此额外调用。您应该将它添加到一个地方或另一个地方,而不是两者。

在参考您正在进行的字符串比较时,请使用.equals方法:https://www.leepoint.net/data/expressions/22compareobjects.html

if(object1 == object2)

检查两个引用是否属于内存中的同一对象,并且不按值进行比较,而

if(object1.equals(object2))

检查两个对象的值在逻辑上是否相等。

根据我在您的计划中的建议,您想要检查userAgain值:

if(userAgain.equals("yes")){
endLoop = false;
} else {
endLoop = true;
}