Javakod som jag behöver lite hjälp med
Problem med javakod.
Jag ska göra ett program som läser in 20 tal från tangentbordet och skriver ut medelvärdet av talen, det största av talen, det minsta av talen. Efter detta ska en lista med alla tal som lästs in skrivas ut. Fältet ska bestå av 5 tal per rad. Det fungerar att köra men felet är markerat i koden...förstår ej vad som blir fel. Kan någon vänlig själ förklara för mig.
import java.io.*;
import java.util.*;
public class Lab6 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Lab6 tp = new Lab6();
try {
tp.doit();
} catch(Exception e) {
e.printStackTrace(); // printStackTrace() är understruket och har en markering bredvid
} // sig och jag förstår inte hur jag ska göra?
}
private void doit() throws IOException {
Scanner sc = new Scanner(System.in);
System.out.print("Mata in 20st tal, så kommer medelvärdet räknas ut. " +
"Även det största samt det minsta talet kommer skrivas ut."); System.out.flush () ;
// final int antalet = sc.nextInt () ;
double sum = 0;
double[] f = new double[20];
for (int index = 0; index < f.length; index++) {
System.out.print ("Tal " + (index + 1) + "? ");
System.out.flush () ;
f[index] = sc.nextDouble () ;
sum += f[index];
}
double medelv = sum / 20;
System.out.format("Medelvärdet är %3.1f\n", medelv);
System.out.println("\nMin och Max värde;");
double min = Double.MAX_VALUE;
double max = Double.MIN_VALUE;
for (int index = 0; index < f.length; index++) {
if (f[index] < min) {
min = f[index];
} else if (f[index] > max) {
max = f[index];
}
}
System.out.println("MIN: " + min);
System.out.println("MAX: " + max);
System.out.println ("Alla tal:");
for (int index = 0; index < f.length; index++) {
System.out.print(f[index] + " ");
if ((index + 1) % 5 == 0) {
System.out.println();
}
}
}
}