如何在 do-while 循环中重复实例化一个对象?
How to repeatedly instantiate an object in a do-while loop?
我正在 Java 中编写战舰克隆版。我有一个标准的 Ship class,它有一个接受用户输入的构造函数。
船有一个布尔字段,valid,它是在船对象构造后计算的。
我想继续实例化 Ship 直到它有效,但编译器抛出一个 "cannot find symbol (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);
我正在 Java 中编写战舰克隆版。我有一个标准的 Ship class,它有一个接受用户输入的构造函数。
船有一个布尔字段,valid,它是在船对象构造后计算的。
我想继续实例化 Ship 直到它有效,但编译器抛出一个 "cannot find symbol (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);