Sir Zu Zwat Skrevet 5. oktober 2009 Del Skrevet 5. oktober 2009 Her er koden jeg har til nå. // For-løkke åpnes for (int n = 1; n <= antKast; n++) { terningen.kast(); int verdi = terningen.getVerdi(); switch (verdi) { case 1:antEnere++; break; case 2:antToere++; break; case 3:antTreere++; break; case 4:antFirere++; break; case 5:antFemere++; break; case 6:antSeksere++; break; } tall += verdi + " "; } // for-løkke stenges Brukeren skal velge et antal kast mellom 1 og 1000. Så skal verdien på terningene komme i linjer med 25 på hver linje. Spørsmålet er hvordan setter jeg inn ett linjeskift etter hver 25. terningkast? Håper på svar. Lenke til kommentar
8086 Skrevet 5. oktober 2009 Del Skrevet 5. oktober 2009 Bruk modulus operatoren. Noe a la if(n%25=0) tall += "\n"; rett før for-løkka avsluttes burde fungere. p.s. synes du burde venne deg til å bruke 0-indekserte lister. kan fort bli off-by-one feil. Lenke til kommentar
Sir Zu Zwat Skrevet 5. oktober 2009 Forfatter Del Skrevet 5. oktober 2009 (endret) At jeg starter med case 0 mener du i switch-løkka? EDIT: Ah, for-løkka ja. Fikk det ikke til å funke med i = 0. Endret 5. oktober 2009 av Zu Zwat Lenke til kommentar
Mapster Skrevet 5. oktober 2009 Del Skrevet 5. oktober 2009 du kan forenkle hele switch blokken til noe så enkelt som: int[] ant = new int[6]; // For-løkke åpnes for (int n = 1; n <= antKast; n++) { terningen.kast(); terningen.getVerdi(); // dette er en tabell som lagrer ant kast på hver terningverdi. // antall enere finner du på ant[0] og ant seksere finner du på // ant[5]. ant[terningen.getVerdi()-1]; tall += verdi + " "; } // for-løkke stenges Lenke til kommentar
8086 Skrevet 6. oktober 2009 Del Skrevet 6. oktober 2009 At jeg starter med case 0 mener du i switch-løkka? EDIT: Ah, for-løkka ja. Fikk det ikke til å funke med i = 0. Da er det ofte lurt å bruke litt ekstra tid på å finne ut hvorfor det ikke funker; det sparer du mye mer tid på i det lange løp. Selv om du finner da en stil som passer deg vil du få problemer når du skal se på andres kode. Om du fikk problemer med 0-indeksert var det sikkert fordi du ikke endret betingelsene samtidig. Det er like mange iterasjoner i for(i = 0; i < 25; i++) som i for(i = 1; i <= 25; i++) Lenke til kommentar
Sir Zu Zwat Skrevet 6. oktober 2009 Forfatter Del Skrevet 6. oktober 2009 (endret) Jeg har if(n % 25 == 0) tall += "\n"; Jeg vil da få linjeskift etter første terningkast (n = 0). Endret 6. oktober 2009 av Zu Zwat Lenke til kommentar
Patton Skrevet 7. oktober 2009 Del Skrevet 7. oktober 2009 Jeg har if(n % 25 == 0) tall += "\n"; Jeg vil da få linjeskift etter første terningkast (n = 0). if(n % 25 == 1) tall += "\n"; gir linjeskift etter andre terningkast. Resten burde ikke vaere saa vanskelig aa finne ut. 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å