gpt4 book ai didi

java - 如何在 if 语句中使用这个 boolean 值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:03:45 24 4
gpt4 key购买 nike

private String getWhoozitYs(){
StringBuffer sb = new StringBuffer();
boolean stop = generator.nextBoolean();
if(stop = true)
{
sb.append("y");
getWhoozitYs();
}
return sb.toString();
}

这是我在编程类(class)中进行的项目的一段代码。我遇到的问题是,在声明 boolean 停止并尝试为其分配一个随机生成的 boolean 值之后,我不能在 if 语句中使用它来确定是否应该将更多的 y 附加到 StringBuffer。我在构造函数中确实有随机生成器,所以这部分不是问题。我假设因为我在 if 语句之外声明了 boolean 值,所以我可以在里面使用它,但事实似乎并非如此。真正的问题是如何在 if 语句中使用随机确定的 boolean 值。

最佳答案

if(stop = true) 应该是 if(stop == true),或者只是(更好!)if(stop) .

这实际上是一个很好的机会来了解为什么总是使用 if(something) 如果你想看看它是否为 true 而不是写 if (某事 == true)(糟糕的风格!)。

通过执行 stop = true 然后您将 true 分配给 stop 而不是比较。

那么if语句下面的代码为什么会执行呢?

参见 JLS - 15.26. Assignment Operators :

At run time, the result of the assignment expression is the value of the variable after the assignment has occurred. The result of an assignment expression is not itself a variable.

因为你写了 stop = true,所以你满足了 if 条件。

关于java - 如何在 if 语句中使用这个 boolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15412808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com