【发布时间】:2015-08-29 07:52:29
【问题描述】:
我们如何获得带有哈希集的基本单例的布尔表达式以返回消息来代替原始的“真”或“假”?
public boolean bookLane(String lane) {
return runLane.remove(lane);
}
我只想用消息替换真假返回语句。
为了帮助澄清这个问题,如下所示(我知道它不起作用)是我想要去的方向......
public boolean bookLane(String lane) {
if (true)
{
message = "Lane is available. Adding runner...";
//instead of true
}
else
{
message = "Lane unavailable. Please choose another";
//instead of false
}
return runLane.remove(lane);
}
我刚刚尝试弄乱代码,发现它现在只返回 false。
public boolean bookLane(String lane) {
String message1 = "Lane Available. Adding runner...";
String message2 = "Lane is Unavailable.";
if (runLane.remove(lane))
{
System.out.println(message1);
}
else
{
System.out.println(message2);
}
return runLane.remove(lane);//
}
有修复它的想法吗?不会撒谎,我在 Java 方面的经验主要是在更有经验的程序员的帮助下反复试验。我认为如果有人可以让我知道我所缺少的布尔方法如何工作而不仅仅是一个返回类型,我认为这种方法可以工作。我试图以返回值为目标,以使用返回的布尔值显示适当的消息。这条路线甚至可能吗?我是否错过了布尔方法如何工作的一些逻辑?请理解我的挫败感和我对你们帮助的需要。感谢您的指导...
【问题讨论】:
-
返回布尔值的方法只能返回布尔值。不是字符串。如果要返回消息,则将返回类型更改为字符串。但实际上,方法的调用者应该使用布尔返回值来选择一条消息,我猜是显示它。
-
正如@JBNizet 所写:将返回类型从
boolean更改为String。然后首先将runLane.remove(lane)分配给一个局部变量,并将其用于您的逻辑来选择要返回的消息。 -
这可能是 stackoverflow.com/questions/7470861/… 的副本吗?
-
@AlexErohin 这似乎更像是一场辩论而不是其他任何事情。我喜欢直接切入正题。没有其他类似的帖子。
-
你是说在你更新的代码中你不能得到
true的情况,即使你删除了runLane中的车道?要检查它,请执行System.out.println("contains? " + runLane.contains(lane);。如果它打印了contains? true,但仍然没有打印message1,那至少会很奇怪。
标签: java boolean singleton message