| | |
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
Autor | Správa |
---|
Registrovaný: 04.12.08 Prihlásený: 16.12.10 Príspevky: 59 Témy: 10 |
Zdravím. Nechápem prečo mi nejde prechádzať z miestnosti do miestnosti...teda nastaviť novú currentRoom...
Kód: public void setCurrentRoom(Room currentRoom) { this.currentRoom = currentRoom; } píše mi, že nekompatibilné typy...ale keď podľa netbeans "nápovedy" hodím pred currentRoom (RoomImpl) tak to aj tak nejde... konkrétne v class East v metóde execute( Game game ) to mám takto Kód: Room currentRoom = game.getCurrentRoom(); if(currentRoom.getEast()!=null) game.setCurrentRoom(currentRoom.getEast());
Zmenil som aj typ currentRoom z RoomImpl na Room v GameImpl...síce nevypisuje chyby v kóde...no vypíše potom chybu pri príkaze vychod...
metoda setCurrentRoom nastavi private Room currentRoom na ten parameter typu Room...a currentRoom.getEast je public Room...ciže vráti rovnaký typ...
Exception in thread "main" java.lang.NullPointerException
at commands.East.execute(East.java:31) toje : Room currentRoom = game.getCurrentRoom();
at textovka.Parser.getCommand(Parser.java:49) to je : list.get(i).execute(null); // vyvolá metódu execute danej triedy/príkazu/ čo mám v liste
at textovka.GameImpl.play(GameImpl.java:37) to je : prikaz.getCommand(line);
at textovka.Main.main(Main.java:35) to je : hra.play();
Java Result: 1
so...where ist he problem ? :/
dodávam aj kompletný projekt v rar keby niečo...
http://www.edisk.sk/stahni/76496/Textovka.rar_34.28KB.html
_________________ Robím, čo možem. Keď nerobím, nemožem. |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 13.11.2009 21:07 | |
|
V parser.java na riadku 49 voláš list.get(i).execute(null). list.get(i) je typu East, takže sa zavolá metóda execute s parametrom null. Takže pri vykonávaní East.execute bude parameter game rovný null a na null nemôžeš volať žiadne metódy. game.getCurrentRoom() je nedefinované, ak game == null.
Je to chyba v návrhu, lebo v triede Parser sa nikde nevyskytuje referencia na Game, takže nemáš ako poslať tú referenciu triede East.
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 04.12.08 Prihlásený: 16.12.10 Príspevky: 59 Témy: 10 | Napísal autor témy dEVIANT: 13.11.2009 22:03 | |
|
jj to som si všimol aj ja, že volám metódu game....a pritom game mám ako null...no len...neviem ako to vyriešiť...skúšal som deklarovať tu premennú game. no aj tak to nefungovalo....máš nejaké konkrétne riešenie?
_________________ Robím, čo možem. Keď nerobím, nemožem. |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 13.11.2009 22:15 | |
|
No musíš si ešte raz poriadne premyslieť, ako budú jednotlivé triedy navrhnuté, ako si budú medzi sebou vymieňať informácie atď. Dobré je si to napr. najprv nakresliť atď.
A mal by si niečo vedieť o [url=http://cs.wikipedia.org/wiki/Návrhový_vzor]návrhových vzoroch[/url].
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 04.12.08 Prihlásený: 16.12.10 Príspevky: 59 Témy: 10 | Napísal autor témy dEVIANT: 13.11.2009 22:35 | |
|
no tak v tomto ja úplne samostatný byť nemožem, kedže máme rozhranie/knižnicu/ ktoré musíme implementovať...a cvika podľa ktorých musíme íst...:/...nič no ked nenájdem riešenie do štvrtka tak to prekonzultujem s cvičiacim na cviku...
_________________ Robím, čo možem. Keď nerobím, nemožem. |
|
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|