7 svar
161 visningar
civilingengör behöver inte mer hjälp
civilingengör 193
Postad: 20 maj 2022 18:00

Initiera en array via konstruktor

Hej! Jag försöker skapa en array av typen int vid namn "checkpointNumbers" men jag vet inte om det görs på rätt sätt eftersom jag inte anger någon längd på listan. Dessutom när jag senare försöker använda checkpointNumbers.length() fungerar det inte. Problemet är att jag i uppgiften inte fått någon beskrivning av hur lång listan skall vara, jag vet bara att det måste vara en array. Har någon något tips?

Laguna 30440
Postad: 20 maj 2022 19:03

Den är nog null från början. När du vet hur lång den ska vara kan du allokera den:

checkpointNumbers = new int[10];

Fermatrix 7841 – Fd. Medlem
Postad: 20 maj 2022 19:40

I värsta fall kan du också förstora listan om den blir full. Men det beror helt på vad du ska göra. 

Kan du visa oss hela uppgiften? 

civilingengör 193
Postad: 20 maj 2022 20:10 Redigerad: 20 maj 2022 20:15

Jag vet inte riktigt hur jag skall göra då "testet" som kör koden har en lista som varierar i längd. Mitt största problem är att jag inte kan tillkalla längden på listan, vilket som ni ser behövs i följande metoder (jag vet att vissa metoder inte är helt korrekt skrivna men det kan ignoreras):

Tillkommande klasser som används:

Laguna 30440
Postad: 20 maj 2022 20:18

Jag tror jag behöver se allt från början för att förstå uppgiften.

(De menar väl "specifikationen ovan", inte "nedan".)

Den där listan skickas väl in utifrån? Då ska du inte allokera något. På vilket sätt fungerar inte length()?

civilingengör 193
Postad: 20 maj 2022 20:28 Redigerad: 20 maj 2022 20:30

Detta är specifikationen, samma som den som står i kodrutan:

Ja listan skickas in utifrån. Jag får detta felmeddelande när length() tillkallas:

CurtJ Online 1200
Postad: 21 maj 2022 09:23

En vektor ([]) i java har inga metoder, det är ingen klass men java-kompilatorn känner igen attributet length så vill du veta hur många element som är allokerade till en vektor så använder du arrar.length utan parenteser. Notera att den returneras antalet element som allokerats, vilket inte behöver betyda antalet element som används.

civilingengör 193
Postad: 23 maj 2022 09:52

Tack!!

Svara
Close