我无法理解Java中的一些代码。我已经研究过,但我仍然无法完全理解它。
boolean showShip = false; //set the ship to be hidden by default
while(!showShip) //dont get this while loop
{
val = promptForInt("\n" + "Guess again. ");
if(val == randomShipLocation)
{
System.out.println("\n" +" BOOM!");
showShip = false;
riverLength[val] = 1; // mark a hit
}
else {
riverLength[val] = -1; // mark a miss
}
displayRiver(riverLength, showShip);
}
我遇到的部分是while(!showShip)
部分。这句话是什么意思?
答案 0 :(得分:3)
showShip
是一个布尔变量,这意味着它可以是true
或false
。 while(!showShip)
表示只要showShip
的值为false
,while循环就应该保持循环(重复)。
答案 1 :(得分:2)
while(!showShip) // don't get this while loop
使用!
反转boolean
,因此循环条件是一种简短的说法
while(showShip == false) // This is the long way
当然为了退出循环,您需要将showShip
设置为true
,但循环的主体永远不会这样做。因此,循环是无限。最有可能的意图是
System.out.println("\n" +" BOOM!");
showShip = true;
注意:编写“在变量为true
时继续”的简短方法
while (showShip) // skip the == true part