Manlulu Skrevet 26. januar 2014 Del Skrevet 26. januar 2014 Jeg har et array. 1 2 3 4 5 Jeg har en metode som sletter ene objektet i Arrayen. Jeg har valgt å slette objektet slik: arrayNavn[indexNummer] = null; Da får jeg f.eks: 1 null 3 4 5. Spørsmålet mitt er hvordan jeg får sortert og fjerna null, eller slik at han ikke skriver ut null? - 1 3 4 5 null - 1 3 4 5 Jeg har prøvd dette: for (int i = 0; i < arrayNavn.length; i++){ if (arrayNavn == null){ while(i != arrayNavn.length-1) arrayNavn = arrayNavn[i + 1]; i++; } } Det funker ikke. Forslag? Lenke til kommentar
Manlulu Skrevet 26. januar 2014 Forfatter Del Skrevet 26. januar 2014 Hver plass i Arrayet peker til et Objekt i en klasse. Så jeg prøver denne når jeg skriver ut: if (arrayNavn == null){ arrayNavn = ""; } Men får opp: Type missmatch: cannot from String to "navnet på class" Lenke til kommentar
Fred7555 Skrevet 26. januar 2014 Del Skrevet 26. januar 2014 Når du oppretter arrayet, så er det av en bestemt type, f.eks. en klasse som String eller en egendefinert. Siden du har oppretter arrayet som en type av "navnet på class", så må alle elementene i arrayet være enten et objekt/instans av den klassen, eller null. Du kan ikke sette den plassen til å peke på String, som er av en annen klasse. Enten må den stå som null, eller må du definere et slags "null-objekt" av den klassen du bruker, slik at du vet at det er null/ingen verdi. Angående sorteringen, så kommer det an på hva du ønsker å gjøre med null. Når du oppretter arrayet, så er det av en fast lengde som ikke kan endres under kjøring. Så selvom du setter plassen til null, så vil plassen alltid eksistere. Så hvordan man gjør sorteringen vil være avhengig om du velger å ha null null der den er og bare ikke skriver den ut, eller om du ønsker å flytte den bakerst, og stoppe utskrivningen når du kommer til et null-element. Eventuelt kopiere elementene som ikke er null til et nytt array, og returnere det. Lenke til kommentar
Manlulu Skrevet 26. januar 2014 Forfatter Del Skrevet 26. januar 2014 Jeg fikk knota det til på et vis, så nå skriver han ikke ut null, og alle null er bakerst i Arrayet Men nytt spørsmål. Kan kanskje ta det her i samme slengen: Enkleste måten å konvertere fra String til Int? Lenke til kommentar
Fred7555 Skrevet 26. januar 2014 Del Skrevet 26. januar 2014 Så vidt jeg vet er det Integer.parseInt()-metoden som er enklest. Den tar inn en string og konverterer den til en int. Husk å slenge på try-catch og håndtere feilmeldinger om du ikke er alltid sikret at argumentet er et tall i string-form. Lenke til kommentar
Manlulu Skrevet 26. januar 2014 Forfatter Del Skrevet 26. januar 2014 Jeg fikk det til på et vis også. Men takk for svar Lenke til kommentar
quantum Skrevet 27. januar 2014 Del Skrevet 27. januar 2014 Bruk Collections og Collections.sort(...), hvis ikke du driver og eksperimenterer med morsomme sorteringsalgoritmer, da ... 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å