Gå til innhold

Gjennomsnitts-program.. hva er galt her?


Anbefalte innlegg

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
Videoannonse
Annonse

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 av Oxido
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...