次のようなデータ構造があります。
[オブジェクト] -> [オブジェクト] -> [オブジェクト]
各オブジェクトには、別のオブジェクトへの正しいポインターがあります。
while (currentParcel.getRight() != null) {
currentParcel = currentParcel.getRight();
}
このコードは無限ループに入ります。
私の論理では、できる限り正しく動作する必要があり、null に達した場合にのみ、currentParcel オブジェクトは null へのポインターを持つ最後のオブジェクトになる必要があります (右にオブジェクトはありません)。
無限ループにどう対処すればよいですか?
以下の方法で書いてみました。
boolean found = false;
try {
while (found == false) {
currentParcel = currentParcel.getRight();
if (currentParcel.getRight() == null)
{
currentParcel.addRight(p);
System.out.println(currentParcel);
found = true;
}
}
}
catch (NullPointerException e) {}
しかし、それは私にはうまくいきませんでした。できるだけ右に移動しないだけです。