Avatar billede mugu Nybegynder
12. oktober 2003 - 20:53 Der er 23 kommentarer og
1 løsning

Indsæt metode som giver problemer

Hej..

Jeg sidder og vil bruge en indsæt metode i forbindelse med registering af skibe, mit problem er at compieren ikke kan "resove the symbol"

Jeg har vedlag nogle uddrag af min kode i håb om at nogen kan forklare mig problemet :)

Dette er fra klassen Skibadm

  public void indsæt(Skibet skibet)
      {
        sidste++;           
        skibliste[sidste]= skibet;   
        }

Dette er fra klassen SkibadmTest - titel stammer fra klassen skibet

    Skibadm bogad = new Skibadm ("Afd", 5);
  ...
  ...
  ...
case 1:
{
    //Indsæt titel på skib                System.out.println("Indtast titlen på skibet: " );
    titel = Keyboard.readString();
                    bogad.indsaet(titel);
    break;
    }
Avatar billede erikjacobsen Ekspert
12. oktober 2003 - 20:55 #1
Du indsætter et String, men den forventer et Skibet
Avatar billede soreno Praktikant
12. oktober 2003 - 20:56 #2
I Skibadm kalder du metoden:
indsæt

I SkibadmTest kaldes metoden med:
bogad.indsaet(titel);

M.a.o. inkonsistens mellem metodenavne.

Ret det og du er (formentligt) kørende igen.
Avatar billede erikjacobsen Ekspert
12. oktober 2003 - 20:56 #3
Hej, og så er indsæt og indsaet ikke helt det samme ;))
Avatar billede conrad Nybegynder
12. oktober 2003 - 20:57 #4
hvis titel ligger i Skibet og skal du for at refere til den i Skibadm skrive
navnPåEtSkib.titel eller endnu bedre lave en getTitel()metode i Skibet klassen.
Avatar billede arne_v Ekspert
12. oktober 2003 - 20:57 #5
Der er flere ting galt.

1)  Du kalder indsaet men hat erklæret indsæt

2)  Du kalde med String men har erklæret argument til at være en Skibet

3)  Du tæller indeks op før du assigner (skal uden tvivl være efter)
Avatar billede conrad Nybegynder
12. oktober 2003 - 20:58 #6
glem det jeg havde læst spørgsmålet forkert
Avatar billede mugu Nybegynder
12. oktober 2003 - 21:00 #7
ok! ja det kan jeg godt se, men er en del forvirret... :)) - skal lige trykke på den...
Avatar billede mugu Nybegynder
12. oktober 2003 - 21:01 #8
er der flere som skal have accepteret svar... skulle nødig trædde nogen over tæerne (soreno... :)))
Avatar billede mugu Nybegynder
12. oktober 2003 - 21:02 #9
ok tusnd tak... men jeg vender nok tilbage hvis det er...
Avatar billede mugu Nybegynder
12. oktober 2003 - 21:11 #10
arne_v...:
Jeg er lidt i tivl omkring punkt 2? hvordan ændrer jeg det ene til det andet?
Avatar billede erikjacobsen Ekspert
12. oktober 2003 - 21:14 #11
Du skal på et tidspunkt sige

  new Skibet(.....)

sådan ca.
Avatar billede arne_v Ekspert
12. oktober 2003 - 21:18 #12
Hvis vi forestiller os at Skibet har en constructor med et String argument så
f.eks.:

bogad.indsaet(new Skibet(titel));
Avatar billede mugu Nybegynder
12. oktober 2003 - 21:18 #13
Det fordi inde i bogadm har jeg lavet en skibliste, som gemmer objekter af skibe - disse skibe indeholde titel, ejer og art
i min test vil jeg "registrere et skib gemmen min indsaet metode...
derfor har jeg sagt new bogadm (...)
er jeg forkert på den?
Avatar billede mugu Nybegynder
12. oktober 2003 - 21:19 #14
sorry skibadm (...)
Avatar billede erikjacobsen Ekspert
12. oktober 2003 - 21:20 #15
nej, men du skal også sige new Skibet(.....) - vi ved ikke præcis hvordan den ser ud.
Avatar billede mugu Nybegynder
12. oktober 2003 - 21:20 #16
Tak arne_v jeg kan godt se det nu! :)
Avatar billede mugu Nybegynder
12. oktober 2003 - 21:22 #17
ja.. ellers får vi heller ikke oprettet nye objekter af skibe! tak for hjælpen. :)
Blev lidt klogere!
Avatar billede mugu Nybegynder
12. oktober 2003 - 21:35 #18
Jeg bruger metoden, men så opstår et nyt problem....

Den vil ikke sammen med konstruktøren i klassen Skibet.
Denne ser sådan ud:

  public Skibet(String pEjer, String pTitel, String pArt)
      {
        ejer= pEjer;
        titel = pTitel;
        art = pArt;
        }

Hvad skyldes dette?
Avatar billede arne_v Ekspert
12. oktober 2003 - 21:49 #19
Ah.

Den har jo 3 argumenter.

Så det skal jo være:

new Skibet(ejer, titel,  art)
Avatar billede mugu Nybegynder
12. oktober 2003 - 21:59 #20
ok............ er ikke helt med... måske lidt tåbeligt, men hvor skal det være? i konstruktøren eller i min indsaet metode?
Er helt tabt! :(
Avatar billede arne_v Ekspert
12. oktober 2003 - 22:01 #21
I kaldet af konstruktøren.
Avatar billede mugu Nybegynder
12. oktober 2003 - 22:22 #22
den brokker sig stadig over den... det er den samme  fejlmeddelse
Avatar billede mugu Nybegynder
12. oktober 2003 - 22:26 #23
vent!! det virker!
Avatar billede mugu Nybegynder
12. oktober 2003 - 22:26 #24
tak for hjælpen og godnat :)
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