如何在do-while循环中重复实例化对象?

时间:2016-11-27 23:48:47

标签: java instantiation

我正在用Java编写战舰克隆。我有一个标准的Ship类,它有一个从用户那里获取输入的构造函数。

船舶有一个布尔字段,有效,在船舶对象构造之后计算。

我想继续实例化Ship直到它有效,但编译器会抛出一个“找不到符号(patrolBoats)”。为什么?我该如何解决这个问题?

do {
    Ship patrolBoat = new Ship(2, "Patrol Boat", promptInputForEnds("Patrol Boat", 2, kboard));
} while (patrolBoat.valid);

1 个答案:

答案 0 :(得分:2)

您在循环中声明patrolBoat变量,因此它不在while语句的范围内。

在循环之前声明Ship patrolBoat

Ship patrolBoat;
do {
  patrolBoat = ...
} while (patrolBoat.valid);