dagjonas Skrevet 16. oktober 2006 Forfatter Del Skrevet 16. oktober 2006 Flott, med forklaring og alt! Dersom jeg nå vil ha skrevet ut at: Velger "ID" går til urnen og stemmer "parti", vil det gjøre det mye mer innviklet? Lenke til kommentar
sim Skrevet 16. oktober 2006 Del Skrevet 16. oktober 2006 Neida. Du må bare endre for-løkken som simulerer stemmingen litt. for(int i = 1; i <= 200; i++) { int partistemme = tilfeldigTall(stemmer.length); stemmer[partistemme]++; out.println("Velger " + i + " går til urnen og stemmer " + parti[partistemme]) } Koden gjør nesten det samme, men vi må lagre det tilfeldige tallet i en variabel siden vi skal bruke det mer enn én gang. Vi får et tilfeldigtall partistemme som representerer det partiet vi stemmer på. Deretter plusser vi 1 på dette partiet i stemmearrayet. Så skriver vi ut "Velger 'i' går til urnen og stemmer 'parti'". Hvis noe er uklart får du bare spørre igjen. Lenke til kommentar
dagjonas Skrevet 17. oktober 2006 Forfatter Del Skrevet 17. oktober 2006 (endret) Gikk greit, var noen semikolon å slenge på før gikk det på plass. Så nå får jeg en fin liste med 200 velger som går og stemmer, og resultatet til slutt. Eneste jeg har å utsette er at vinneren ikke blir Ap, men det skal visst la seg gjøre å fikse litt på det i koden slik at man kan få den vinneren man selv ønsker? Og ja, koden kan sikkert endres slik at man får oppsummert hvor mange som stemte på de enkelte partiene også vil jeg tro.. Igjen, tusen takk for hjelpen. Endret 17. oktober 2006 av dagjonas Lenke til kommentar
rusolvan Skrevet 17. oktober 2006 Del Skrevet 17. oktober 2006 å oppsummere antall stemmer på hver pari er gjort ganske enkelt det og siden du har 2 tabeller som "kobles sammen" v.h.a index'en i de 2 tabellene... eks. : om du skal skrive ut stemmene som parti på index 1 fikk, skriver du: out.println(parti[1]+" fikk tilsammen "+stemmer[1]+" stemmer"); Kjører du dette i en for-løkke gjør denne jobben for deg: for(int i = 0; i<stemmer.length; i++){ out.println(parti+" fikk tilsammen "+stemmer+" stemmer"); } Men for å få dette til å se litt mer "fancy" ut kan du jo sette opp resultatet i en html-tabell, noe som er mye mer oversiktelig og tar seg bedre ut på en html-side. Du kan bruke koden: out.println("<br/><br/><font size=\"10\"><strong>Resultatet av stemmene: </strong></font><br/><br/>"); out.println("<table width=\"400\"><th>Parti</th><th>Stemmer</th><th>%-andel</th>"); for(int i = 0; i < stemmer.length; i++){ float prosent = stemmer[i]; prosent =(prosent/200)*100; out.println("<tr><td align=\"center\">"+partier[i]+"</td><td align=\"center\">"+stemmer[i]+"</td><td align=\"center\">"+prosent+"</td></tr>"); } out.println("</table><br/><br/>"); her tok jeg likså godt med prosentandel ved 200 velgere i tabellen Arti med jsp igjen Lenke til kommentar
blackbrrd Skrevet 17. oktober 2006 Del Skrevet 17. oktober 2006 (endret) Alternativt så kan du bruke det at du jobber i en JSP, ikke i en servlet //...antar at det er java kode her... %> <br/> <br/> <font size="10"> <strong>Resultatet av stemmene: </strong> </font> <br/> <br/> <table width="400"> <th>Parti</th> <th>Stemmer</th> <th>%-andel</th> <% for(int i = 0; i < stemmer.length; i++){ float prosent = stemmer[i]; prosent =(prosent/200)*100; %> <tr> <td align="center"><%=partier[i]%></td> <td align="center"><%=stemmer[i]%></td> <td align="center"><%=prosent%></td> </tr> <%}%> </table> <br/> <br/> <% // ... antar at det er javakode her Nå er java koden og html koden skillt litt mer, slik at du kan redigere html-en i en vanlig html editor. Det er ihvertfall hakket mer lettlest og man slipper å escape html'en som gjør den klønete å vedlikeholde. Endret 17. oktober 2006 av blackbrrd Lenke til kommentar
Cuneax Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 *kode* 7075699[/snapback] Denne koden returnerer en feilmelding for meg... An error occurred at line: 23 in the jsp file: /Oving6/stortingsvalg.jspGenerated servlet error: The method randon() is undefined for the type Math An error occurred at line: 23 in the jsp file: /Oving6/stortingsvalg.jsp Generated servlet error: storste cannot be resolved og An error occurred at line: 41 in the jsp file: /Oving6/stortingsvalg.jspGenerated servlet error: Syntax error, insert ";" to complete LocalVariableDeclarationStatement An error occurred at line: 41 in the jsp file: /Oving6/stortingsvalg.jsp Generated servlet error: Syntax error, insert "ArrayInitializer" to complete ArrayCreationWithArrayInitializer An error occurred at line: 41 in the jsp file: /Oving6/stortingsvalg.jsp Generated servlet error: Syntax error, insert ";" to complete Statement osv... Hvorfor funker det ikke? Lenke til kommentar
sim Skrevet 18. oktober 2006 Del Skrevet 18. oktober 2006 Første feilmeldingen er nok fordi det er skrevet «randon» i stedet for «random». De andre kommer nok av at det mangler noen semikoloner. Lenke til kommentar
dagjonas Skrevet 19. oktober 2006 Forfatter Del Skrevet 19. oktober 2006 Nytt spørsmål, denne koden: int[][] tabell = new int[10][10]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (((i + j) % 10) == 0) { out.println ("Summen av " + i + " og " + j + " er delelig med 10."); tabell[i][j] = 1; } else { out.println ("Summen av " + i + " og " + j + " er ikke delelig med 10."); } } } Jeg skal beskrive hva denne gjør, ser jo at den skriver ut at x + y er delelig med 10 dersom x+y blir et heltall, og hvis ikke skriver ut at x +y ikke er delelig med 10, men vet ikke hvordan jeg skal beskrive det mer presist, det står jo i koden, trenger ikke kunne spesielt mye for å se det. Jeg skjønner bl.a. ikke hva if (((i + j) % 10) == 0) betyr, prosent-tegn og dobbel ==? og den raden med tabell[j] = 1; har for noe funksjon. Lenke til kommentar
sim Skrevet 19. oktober 2006 Del Skrevet 19. oktober 2006 tabell[][] kan sees på som en matrise. I denne matrisen setter du inn 1 på plassene i og j, der i + j er delelig med 10. %-tegnet er operatoren for modulo i JSP. Hvis et tall a er delelig med et tall b blir a % b = 0. Den returnerer altså resten av en divisjon. I JSP (og en del andre språk) er det forskjell på = og ==. = brukes for å sette en verdi til en variabel, mens == brukes for å sammenligne verdier. Ganske viktig å vite forskjellen på disse. Matrisen (tabell[]) vil vel se noenlunde slik ut: _ 0 1 2 3 4 5 6 7 8 9 _ 0 | 0 0 0 0 0 0 0 0 0 0 | 1 | 0 0 0 0 0 0 0 0 0 1 | 2 | 0 0 0 0 0 0 0 0 1 0 | 3 | 0 0 0 0 0 0 0 1 0 0 | 4 | 0 0 0 0 0 0 1 0 0 0 | 5 | 0 0 0 0 0 1 0 0 0 0 | 6 | 0 0 0 0 1 0 0 0 0 0 | 7 | 0 0 0 1 0 0 0 0 0 0 | 8 | 0 0 1 0 0 0 0 0 0 0 | 9 | 0 1 0 0 0 0 0 0 0 0 | |--------------------------------| 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å