Gå til innhold

Java: størst, minst og gjennomsnitt


Anbefalte innlegg

Jeg skal lage et java-program som lar bruker bestemme hvor mange flyttall som skal leses inn fra tastaturet, deretter skal programmet lese inn tallene. Så skal det skrive ut gjennomsnittet, samt det minste og største tallet.

 

Eksempel på kjøring:

Oppgi antall tall: 4

Tall 1: 1

Tall 2: 3

Tall 3: 4

Tall 4: 2

Størst: 4.0

Minst: 1.0

Gjennomsnitt: 2.5

 

Håper noen kan hjelpe meg litt på vei med et par tips. Har prøvt noen metoder, men får ikke til å finne gjennomsnittet av tall som programmet leser inn. Skal jeg bruke while-løkke?

Lenke til kommentar
Videoannonse
Annonse

Her det jeg har gjort til nå:

 

public class Flyttall {

public static void main(String args[]) {

double antall;

double nesteTall = 0;

double sum = 0;

double minst;

double storst;

double snitt;

System.out.println("Oppgi antall tall: ");

antall = Terminal.lesInt();

 

while (antall > nesteTall) {

nesteTall = nesteTall + 1;

sum = nesteTall;

System.out.println("Tall " + nesteTall + ": " + nesteTall);

}

storst = antall;

System.out.println("Største tall var: " + storst);

minst = nesteTall / antall;

System.out.println("Minste tall var: " + minst);

snitt = sum / antall;

System.out.println("Gjennomsnitt var: " + snitt);

}

}

Lenke til kommentar

Du må telle ned antallet i while-løkken: while (antall > 0) {antall = antall-1; her kommer resten av koden}.

 

I tillegg må du ha en variabel som summerer innverdiene, som du til slutt deler på antallet som da blir gjennomsnittet. Så må du ha en maks og minimumvariabel, som sjekker for hvert tall om det er større/mindre enn hva som ligger i de, og hvis det er det, legger dette inn i maks/min.

Lenke til kommentar

Her kommer et lite eksempel på hvordan programmet ditt burde se ut.

Hvorfor du bruker Terminal.lesInt() vet jeg ikke. Ihvertfall ikke når du har deklarert alle variabler som double.

 

public class Flyttall { 

public static void main(String args[]) { 

double antall; 

double nesteTall = 0; 

double sum = 0; 

double minst = 0; 

double storst = 0; 

double snitt; 

System.out.println("Oppgi antall tall: "); 

antall = Terminal.lesInt(); 



for (i=1; i<=antall; i++) {

System.out.println("Skriv inn tall " + i + ":");

nesteTall = Terminal.lesInt();

if (i == 1) {

 storst = nesteTall;

 minst = nesteTall;

}

else {

 if (nesteTall > storst) 

 	storst = nesteTall;

 if (nesteTall < minst) 

 	minst = nesteTall;

}

sum = sum + nesteTall;

System.out.println("Tall" + i + ":"+ nesteTall);

}

snitt = sum / antall; 

System.out.println("Største tall var: " + storst); 

System.out.println("Minste tall var: " + minst); 

System.out.println("Gjennomsnitt var: " + snitt); 

}

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...