Java: Scanner-Datei in Arraylist, dann min/max/Mittelwert/standarddeviation

Die Zuordnung erstellen Sie ein Programm zum Lesen von der Standardeingabe (eine Datei mit einer Liste von Integer-zahlen) in ein array, und dann finden Sie den Mittelwert, max, min, median und die Standardabweichung von diesen zahlen. first things first, hier der code:

import java.io.*;
import java.util.*;


public class DescriptiveStats
{

protected List<Integer> scores = new ArrayList<Integer>();

public DescriptiveStats()
{
    //default constructor
}


public void main(String[] args) throws IOException
{

    try{
        Scanner sc = new Scanner(new FileReader("students.txt"));
        while(sc.hasNextInt())
        {
            scores.add(sc.nextInt());
        }
        sc.close();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }

    DescriptiveStats stat = new DescriptiveStats();
    System.out.println("Min = " + stat.getMin(scores[]));
    System.out.println("Max = " + stat.getMax(scores[]));
    System.out.println("Median = " + stat.getMedian(scores[]));
    System.out.println("Mean = " + stat.getMean(scores[]));
    int Mean = stat.getMean(scores[]);
    System.out.println("Standard Deviation = " + stat.getStandardDev(scores[], Mean));
}


public int getMin(int []lst)
{
    int min = lst[0];
    for(int i=0;i<lst.length;i++)
    {                                      
        if(min>lst[i])
        min=lst[i];
    }
    return min;
}

public int getMax(int []lst)
{
    int max = lst[0];
    for(int i=0;i<lst.length;i++)
    {
        if(max<lst[i])
        max=lst[i];
    }
    return max;
}

public int getMedian(int [] lst)
{
    Arrays.sort(lst);
    int middle = lst.length/2;
    if(lst.length%2==1)
    {
        return lst[middle];
    }
    return (lst[middle-1] + lst[middle]);
}

public int getMean(int [] lst)
{
    Arrays.sort(lst);
    int mean = 0;
    int sum = 0;
    int count = 0;
    for(int i=0;i>lst.length;i++)
    {
        sum = sum + lst[i];
        count++;
    }
    mean = sum/count;
    return mean;
}

public int getStandardDev(int [] lst, int m)
{
    int mean = m;
    int [] array = lst;
    int total = 0;
    for(int i =0; i < array.length; i++)
    {
        int result = array[i]-mean;
        int [] all = Math.pow(result, 2);

    }
    total = result/array.length;
    int standev = Math.sqrt(total);
    return standev;
}

}

Meine speziellen Fragen, kommen bis zu dieser: ich weiß nicht, ob ich das Lesen in der Datei korrekt. Ich hab folgten viele Anleitungen aus Büchern zu website und das scheint die richtige Formel für die scanner, aber die Datei nicht gefunden wird. Ich habe versucht, drei verschiedene IDE (BlueJ, Eclipse, Netbeans) ohne Erfolg.

Zweitens, ich habe die Methoden, um eine arraylist als Eingang und rief Ihnen in einem " public void main(string[] args)' - Methode. Ich bin mir ziemlich sicher, ich kann dies tun, aber es wird nicht kompiliert, und ich nicht sicher bin, was ich bin fehlt.

Schließlich will ich sicherstellen, dass mein Standardabweichung Methode korrekt ist.
Ich erwarte nicht, dass eine einzelne person zu lösen, aber diese sind die Punkte, an denen ich stecken geblieben bin, und jede Hilfe würde geschätzt werden. Danke!

  • Wenn die Datei nicht im Arbeitsverzeichnis, die Sie brauchen, um einen Pfad zu es. Auch main() sollte statisch sein.
  • Die main-Methode muss static: public static void main(String[] args).
Schreibe einen Kommentar