我正在用Java编写战舰克隆。我有一个标准的Ship类,它有一个从用户那里获取输入的构造函数。
船舶有一个布尔字段,有效,在船舶对象构造之后计算。
我想继续实例化Ship直到它有效,但编译器会抛出一个“找不到符号(patrolBoats)”。为什么?我该如何解决这个问题?
do {
Ship patrolBoat = new Ship(2, "Patrol Boat", promptInputForEnds("Patrol Boat", 2, kboard));
} while (patrolBoat.valid);
答案 0 :(得分:2)
您在循环中声明patrolBoat
变量,因此它不在while
语句的范围内。
在循环之前声明Ship patrolBoat
:
Ship patrolBoat;
do {
patrolBoat = ...
} while (patrolBoat.valid);