练习考试中的模棱两可的循环



我目前正在Java学习期末考试,并希望对某些事情获得第二意见。(有些人可能从一两天前记得我)无论如何,关于练习考试的问题是:

代码中有什么错误?

boolean good = true
while(good = true){
//do stuff
}

我觉得这是一个诀窍,因为显而易见的答案是这是一个无限的循环。但是,我们不知道循环内部的代码将是什么代码,因此可能会有一个中断声明或其他形式从循环中退出的形式。对于我的回答,我写道条件不需要是实例化,它可以读到" while(良好){"
你怎么看?非常感谢您。

while (good = true)是无限环路。它将true分配给good,然后评估true。正确的循环是while (good == true) while (good)

正如他人指出的那样,问题是您是 realsigning 良好的值,每次循环迭代时。

这正是许多专业开发人员会写出他们的陈述向后喜欢

的原因
while ( true == good )
vs
while ( good == true )

if ( null == a )
vs
if ( a == null )

当时的原因是,例如,您的问题中发布的

while ( true = good )
if ( null = a )

您将试图将值分配给常数时,会丢弃编译器错误。

最新更新