练习考试的模糊循环

时间:2016-12-20 18:04:34

标签: java loops

我目前正在攻读Java的期末考试,并希望得到第二个意见。 (有些人可能会在一两天前记得我) 无论如何,关于练习考试的问题是:

  

代码中的错误是什么?

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

我觉得这是一个技巧问题,因为明显的答案是这是一个无限循环;但是,我们不知道循环中会有什么代码,因此可能会有一个break语句或其他形式的退出循环。对于我的回答,我写道,条件不需要是实例化,它只能读取"而(好){"
你的想法是什么?非常感谢你。

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

正如其他人所指出的那样,问题在于,每次循环迭代时,你都重新分配商品的价值。

这正是许多专业开发人员将向后语句写成

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

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

原因是,如果发生拼写错误,例如您的问题中发布的拼写错误,

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

会抛出编译器错误,因为您正在尝试为常量赋值。