Cemi Skrevet 24. mars 2010 Del Skrevet 24. mars 2010 Jeg arbeider med en oppgave til skolen, hvor programmet vi lager kun er metodene, men vi lager aldri slik at det faktisk er kjørbart så man kan få testet det. Derfor lurer jeg på om dette er mulig: if (riktig.size() > -1){ String returner = " "; for (int k = 0; riktig.size() > k; k++ ){ returner = returner + "/n" + riktig.get(k).getId() +":"+riktig.get(k).getNavn()+":"+riktig.get(k).getEier(); } return returner; } else { return "Ikke registrert noen."; } Da er det den delen i for løkken jeg lurer på om vil fungere? Vil jeg få en string med flere linjer? "riktig" er en arraylist med alle objektene som stemmer med det tenkte søket. Lenke til kommentar
Patton Skrevet 24. mars 2010 Del Skrevet 24. mars 2010 Du vil få en string med flere linjer, men her trengs det litt optimering. Første linja er alltid tom med mellomrom som eneste tegn (vet ikke hvorfor du instansierer en string med ett mellomrom, en tom string er vel bedre?), noe som du bør fikse. Dessuten er ArrayList.size() alltid større enn -1 (0 hvis lista er tom), så "Ikke registrert noen" vil aldri returneres. Lenke til kommentar
Cemi Skrevet 24. mars 2010 Forfatter Del Skrevet 24. mars 2010 Dersom jeg ikke sattse stringen til " " fikk jeg eclipse "String returner may not have been initialized" av en eller annen grunn, selv om den ikke returneres om den ikke initialiseres. Trodde arraylist.size 0 når den inneholder 1, men det er muligens jeg forveksler med noe annet. Takk for svar Lenke til kommentar
Patton Skrevet 24. mars 2010 Del Skrevet 24. mars 2010 Dersom jeg ikke sattse stringen til " " fikk jeg eclipse "String returner may not have been initialized" av en eller annen grunn, selv om den ikke returneres om den ikke initialiseres. Trodde arraylist.size 0 når den inneholder 1, men det er muligens jeg forveksler med noe annet. Takk for svar Jeg mener: String returner = ""; istedenfor String returner = " "; "String returner may not have been initialized" får du hvis deklarer som følgende: String returner; Lenke til kommentar
Cemi Skrevet 25. mars 2010 Forfatter Del Skrevet 25. mars 2010 Aha, vet egentlig ikke hvorfor jeg har mellomrom der nei. Siden den legges til i begynnelsen av return stringen er det nok lurt å fjerne den ja. Takk Lenke til kommentar
miXer Skrevet 25. mars 2010 Del Skrevet 25. mars 2010 (endret) Trodde arraylist.size 0 når den inneholder 1, men det er muligens jeg forveksler med noe annet. Arrays er 0 basert. Første element finner du på plass 0, men size() returnerer det faktiske antallet elementer i arrayet, altså 1 basert. F.eks: String[] arr = { "arr1", "arr2" }; arr[0] vil gi "arr1" arr[1] vil gi "arr2" size() vil gi 2 Endret 25. mars 2010 av miXer Lenke til kommentar
GeirGrusom Skrevet 27. mars 2010 Del Skrevet 27. mars 2010 Når variabler ikke er initialisert er innholdet udefinert. Det er derfor en feil å returnere en variabel som ikke initialisert. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå