Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Jester01
    veterán

    Hi!

    Na megint itt vagyok a bonyolult problémámmal. Szóval a forrsában lévő progival van továbbra is gondunk. Az első linken a legutóbbi verzió van, és nem értem a hiba okát. Elvileg azt csináljuk, hogy mindig egy ArrayList-be rakjuk a visszadott (Enumeration-ből már kiszedett) Successor-okat. Ez az első két szinten még jól is működik, mert pl kihagyja a 3-as szülőt, mert a hozzá tartozó Successor nem felel meg a validOperators metódusnak. Ezután azonban megbolondul. Minden Successoron végigmegy, és bár elvileg az Enumeration-ok üresek, mégis állandóan ad hozzá Successor-okat, így a 3. szinten már 15 Successor van, holott csak 5 kellene, hogy legyen. Remélem, hogy érthetően fogalmaztam. Azt kellene megtalálni, hogy miért nem fut le rendesen, ráadásul Exception-t is dob a végén. Elvileg ezeket a listákat berakjuk majd a főlistába (fésűs szerkezet), és a kilépési feltétel a (0,0 false) State lesz.
    A második linken egy működő, de csak 2 szintig futó verzió van.

    [link]

    [link]

    így a 3. szinten már 15 Successor van, holott csak 5 kellene, hogy legyen.

    Ja, hogy ebben akkor még benne vannak a duplikátumok. Oké, kezdem átlátni :)

    MOD: jöhetsz MSNre, ha akarsz

    [Szerkesztve]

  • Jester01
    veterán

    Hi!

    Na megint itt vagyok a bonyolult problémámmal. Szóval a forrsában lévő progival van továbbra is gondunk. Az első linken a legutóbbi verzió van, és nem értem a hiba okát. Elvileg azt csináljuk, hogy mindig egy ArrayList-be rakjuk a visszadott (Enumeration-ből már kiszedett) Successor-okat. Ez az első két szinten még jól is működik, mert pl kihagyja a 3-as szülőt, mert a hozzá tartozó Successor nem felel meg a validOperators metódusnak. Ezután azonban megbolondul. Minden Successoron végigmegy, és bár elvileg az Enumeration-ok üresek, mégis állandóan ad hozzá Successor-okat, így a 3. szinten már 15 Successor van, holott csak 5 kellene, hogy legyen. Remélem, hogy érthetően fogalmaztam. Azt kellene megtalálni, hogy miért nem fut le rendesen, ráadásul Exception-t is dob a végén. Elvileg ezeket a listákat berakjuk majd a főlistába (fésűs szerkezet), és a kilépési feltétel a (0,0 false) State lesz.
    A második linken egy működő, de csak 2 szintig futó verzió van.

    [link]

    [link]

    Az exception ezért van:

    Enumeration eu=sc1.state.successors(sc1.state);
    tmp.add(eu);


    Itt ugyanis egy vektort adsz hozzá a tmp-hez, amiből később Successor-t akarsz kivenni.

    Sajnos állatira nem látom át a list, list2, list3, tmp nevű változók szerepét :(

Új hozzászólás Aktív témák