geirlur Skrevet 21. september 2004 Del Skrevet 21. september 2004 Noen som kan fortelle meg hva som er feil med denne? Får feilmeldingen "Obligatorisk.java": variable snitt might not have been initialized at line 53, column 34 men har gjort alt etter boka så finner ikke ut selv hva som er gæli? Linje 34 er while ( verdi != -1) { og linje 53 er snitt = (double) total / snitt; ------------------------------------------------------------------------------------- import java.text.DecimalFormat; import javax.swing.JOptionPane; public class Obligatorisk { public static void main( String args[] ) { int total; // sum av poengene int antall; // antall poeng skrevet inn int verdi; // poengverdi double snitt; // nummer med desimaltall for gjennomsnitt String poengString; // poeng skrevet av bruker // initialiserings fase total = 0; // totalen starter på null antall = 0; // antall starter på null // motta første poengsum fra bruker poengString = JOptionPane.showInputDialog( "Skriv inn ett heltall 1-100, avslutt med -1"); // konverter poengString til int verdi = Integer.parseInt(poengString); while ( verdi != -1 ) { total = total + verdi; // legg poengsum til i totalen antall = antall + 1; // økende teller // motta neste poengsum fra bruker poengString = JOptionPane.showInputDialog( "Skriv inn ett heltall 1-100, avslutt med -1"); // konverter poengString til int verdi = Integer.parseInt(poengString); } //Slutt while // sluttfase DecimalFormat toNummer = new DecimalFormat("0.00"); // vis bruker har lagt til minst en poengsum if (antall != 0) { // kalkuler gjennomsnittet av alle poenge som er lagt inn snitt = (double) total / snitt; // vis gjennomsnittet med to desimaltall JOptionPane.showMessageDialog(null, "Gjennomsnittet er " + toNummer.format(snitt), "Resultater", JOptionPane.INFORMATION_MESSAGE); } // slutt if delen av if...else else // vis ingen poengsummer ble lagt til, vis en forklarende melding JOptionPane.showMessageDialog(null, "Ingen poen ble skrevet inn", "Resultater", JOptionPane.INFORMATION_MESSAGE); System.exit(0); // avslutt applikasjon } // gjør kål på main metode } // slutt class Obligatorisk Lenke til kommentar
MailMan13 Skrevet 21. september 2004 Del Skrevet 21. september 2004 Du prøver å dele på variabelen snitt, men du har ikke gitt den noen verdi. Forresten... skal ikke gjennomsnitt være total/antall ? Lenke til kommentar
ilpostino Skrevet 21. september 2004 Del Skrevet 21. september 2004 Forresten... skal ikke gjennomsnitt være total/antall ? skal nok det Lenke til kommentar
ilpostino Skrevet 22. september 2004 Del Skrevet 22. september 2004 int total;int antall; int verdi; er det ikke også mulig å skrive slik: int total = 0; Lenke til kommentar
TeddyErt Skrevet 22. september 2004 Del Skrevet 22. september 2004 jo det går fint. En annen ting er at du aldri vil nå antall == 0. Det vil bli kastet et exception hvis du ikke taster inn noen tall Lenke til kommentar
Deelay Skrevet 23. september 2004 Del Skrevet 23. september 2004 (endret) total = total + verdi; // legg poengsum til i totalen antall = antall + 1; // økende teller Dette kan du også forenkle ved å skrive: total += verdi; antall += 1; Forresten, går du Data-ingeniør, først året? Er nemlig et eksempel den samme oppgaven i Deitel & Deitel-boka! Endret 23. september 2004 av Oxido Lenke til kommentar
TeddyErt Skrevet 23. september 2004 Del Skrevet 23. september 2004 enda litt forenkling: antall++ ; Lenke til kommentar
geirlur Skrevet 23. september 2004 Forfatter Del Skrevet 23. september 2004 Forresten, går du Data-ingeniør, først året? Er nemlig et eksempel den samme oppgaven i Deitel & Deitel-boka! Jepp hehe, hadde visst bare skrevet feil på utregningsgreia 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å