Avatar billede kovalt Nybegynder
13. november 2002 - 10:07 Der er 11 kommentarer og
1 løsning

to HashMaps

Hej gutter og gutinder....

er det ikke lovligt at gøre det her:

  public Room(String description)
    {
        this.description = description;
        look = new HashMap();
        exits = new HashMap();
    }

Jeg er ved at lave sådan et meget simpel promptbaseret adventure spil.... HashMappet der hedder exits indeholder alle de udgange der er fra et givent rum (øst, nord, vest, syd). Min mening var så at tilføje endnu et HashMap der indeholder beskrivelser af et givent rum (øst, nord, vest, syd).

Må man ikke lave to hashmaps eller skal det laves på en anden måde.....

Jeg får fejlen - cannot resolve symbol når jeg kompilerer!!
Avatar billede arne_v Ekspert
13. november 2002 - 10:12 #1
Selvfølgelig må du lave 2 HashMaps.

Har du en import af java.util.HashMap ?
Avatar billede di8leva Nybegynder
13. november 2002 - 10:13 #2
du måste definiera dina variabler.

HashMap look = new HashMap();
HashMap exits = new HashMap();
Avatar billede kovalt Nybegynder
13. november 2002 - 10:17 #3
hvis jeg gør som di8leva siger får jeg en fejl når jeg forsøger at tilføje elementer til HashMappet......

    public void setLook(String direction, String rummetsUdseende)
    {
        look.put(direction, rummetsUdseende);
    }

den kommer men samme fejl bare på kommandoen ovenfor
Avatar billede kovalt Nybegynder
13. november 2002 - 10:17 #4
Jeg har importeret utils
Avatar billede kovalt Nybegynder
13. november 2002 - 10:19 #5
jeg har fundet ud af det .... tak for hjælpen
Avatar billede arne_v Ekspert
13. november 2002 - 10:24 #6
Ja - look og exit skal jo være kendte i
alle de metoder der skal bruge dem.
Avatar billede disky Nybegynder
13. november 2002 - 10:29 #7
ret lige
HashMap look = new HashMap();
HashMap exits = new HashMap();
til
Map look = new HashMap();
Map exits = new HashMap();

Man angiver altid interface klassen.
Avatar billede kovalt Nybegynder
13. november 2002 - 10:33 #8
Når jeg nu skal putte tingene i HashMappet..... hvorfor er det så lige at den ikke kommer noget i ved look

        plaza.setExit("east", pub);
        plaza.setLook("east", "Der ligger en pub");

Hvis jeg fjerner "" rundt om "Der ligger en pub" får jeg en fejl om:

Expected ')'
Avatar billede di8leva Nybegynder
13. november 2002 - 11:18 #9
du kan ikke skriva
plaza.setLook("east", Der ligger en pub);

eftersom då letar java-compilern efter en variabel som heter Det og vill sen ha en ); som avslut... det går ikke...

men det du skriver:
plaza.setLook("east", "Der ligger en pub");

skall virke, hvis setLook anropar:
look.put("east", "Der ligger en pub");
Avatar billede kovalt Nybegynder
13. november 2002 - 11:30 #10
Det virker fint når jeg gør det med

plaza.setExit("east", pub);

når jeg så i programmet står i rummet plaza og skriver "go east" - kommer jeg ud i rummet pub

du kan ikke sige hvor det ikke virker med setLook..... er det fordi det er mere end et ord
Avatar billede kovalt Nybegynder
13. november 2002 - 11:31 #11
Det knytter sig til:

    public void setLook(String direction, String rummetsUdseende)
    {
        look.put(direction, rummetsUdseende);
    }
Avatar billede di8leva Nybegynder
13. november 2002 - 11:59 #12
det skall virke bra med:
plaza.setLook("east", "Der ligger en pub");
ingen fejl i syntaxen der.

hvad får du før fejl?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester