swj Skrevet 3. juni 2006 Del Skrevet 3. juni 2006 Jeg har en forløkke som jeg lurer på om noen kan forklare for meg. Jeg vet hva den skriver ut (for det har jeg testet), men jeg klarer ikke se det likevel hvordan den går gjennom løkken. Jeg får feil når jeg går gjennom den slik jeg tenker gangen går i løkken. Er det noen som har anledning til å forklare løkken linje for linje hva som skjer? int sum = 0; for (int i = 0; i < 5; i++) { for (int j = i; j < 4; j++) { sum = i + j; System.out.print(sum + " "); } System.out.println(”/”); } På forhånd tusen takk for svar! Lenke til kommentar
sim Skrevet 3. juni 2006 Del Skrevet 3. juni 2006 (i, j) = Utskrift 0, 0 = 0 0, 1 = 1 0, 2 = 2 0, 3 = 3 / 1, 1 = 2 1, 2 = 3 1, 3 = 4 / 2, 2 = 4 2, 3 = 5 / 3, 3 = 6 / / Husk at i den andre for-løkken starter «telleren» j på samme verdi som i har. På siste iterasjon i første for-løkke vil den ikke kjøre den andre for-løkka fordi j=i=4. Jeg vet ikke om dette ga deg noe klarere syn på hva som skjer? Lenke til kommentar
swj Skrevet 3. juni 2006 Forfatter Del Skrevet 3. juni 2006 Tusen takk for svar! Det begynner å demre! Men, jeg skal prøve å forklare hva jeg ikke forstår. Jeg tenkte at i første runde så er i = 0 og j = 0 slik som du skrev. Men jeg skjønner ikke helt hvorfor i ikke er 1 i neste omgang. Begynner den ikke å telle før den har vært gjennom en gang? Hvorfor begynner da j å telle på omgang 2? (altså én runde før i gjør....) Lenke til kommentar
qualbeen Skrevet 3. juni 2006 Del Skrevet 3. juni 2006 jau, løkker er fine ting men det er mye enklere å forstå hvordan for-løkker fungerer, hvis du kun ser på én løkke, istedenfor å benytte to nestede som du har gjort.. når de er nøstede må man nemlig huske på at den innerste løkken kjører seg helt ferdig når den ytterste kun beveger seg ett steg. I ditt tilfelle vil den innerste bli utført 5 ganger, mens den ytterste kun 1 gang. (håper jeg ikke forvirret deg mer ) Lenke til kommentar
oskaremil Skrevet 11. august 2006 Del Skrevet 11. august 2006 Ser at det er en stund siden sist inlegg her, men til de som kikker som på posten for første gang ( slik som jeg gjør nå ) har en en fin sammenligning til dere ( slik som Jesus gjorde det) Tenk på en nestet for-løkke som en klokke. For sikkerthets skyld nester vi tre løkker her. Som vi alle vet så består tiden av sekunder. Når 60 sekunder er gått, har det gått ett minutt. Og når 60 minutter har gått har det gått en time. Følgende lille eksempel viser da alle kombinasjonene av time:minutt:sekund som en klokke (digital) viser i løpet av en dag. int iTime, iMinutt, iSekund; for(int iTime = 0; iTime < 24; iTime++) { for(int iMinutt = 0; iMinutt < 60; iMinutt++) { for(int iSekund = 0; iSekund < 60; iSekund++) { System.out.println(iTime + ":" + iMinutt + ":" + iSekund); } } } Cheers 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å