我正在用Java编写战舰副本。我有一个标准的Ship类,该类具有一个构造函数,该构造函数接收用户的输入。
船上有一个有效的布尔字段,该字段是在构造船对象之后计算的。
我想继续实例化Ship直到有效,但是编译器向我抛出“找不到符号(patrolBoats)”。为什么?我该如何解决?
do {
Ship patrolBoat = new Ship(2, "Patrol Boat", promptInputForEnds("Patrol Boat", 2, kboard));
} while (patrolBoat.valid);
最佳答案
您在循环内声明了patrolBoat
变量,因此它不在while
语句的范围内。
在循环前声明Ship patrolBoat
:
Ship patrolBoat;
do {
patrolBoat = ...
} while (patrolBoat.valid);