Wie berechnet man den Median eines Arrays?

Ich versuche, die Summe, den Mittelwert und den Median eines Arrays zu berechnen, das durch die von einem Textfeld empfangenen Eingaben gefüllt wird. Ich habe es geschafft, die Summe und den Mittelwert zu berechnen. Ich kann den Median einfach nicht zum Laufen bringen. Ich denke, das Array muss sortiert werden, bevor ich das tun kann, aber ich bin nicht sicher, wie ich das tun soll. Ist das das Problem oder gibt es ein anderes, das ich nicht gefunden habe? Hier ist mein Code:

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.*;
import java.awt.event.*;

public class whileloopq extends Applet implements ActionListener
{
    Label label;
    TextField input;
    int num;
    int index;
    int[] numArray = new int[20];
    int sum;
    int total;
    double avg;
    int median;



    public void init ()
    {
        label = new Label("Enter numbers");
        input = new TextField(5);
        add(label);
        add(input);
        input.addActionListener(this);
        index = 0;
    }

    public void actionPerformed (ActionEvent ev)
    {
        int num = Integer.parseInt(input.getText());
        numArray[index] = num;
        index++;
        if (index == 20)
        input.setEnabled(false);
            input.setText("");
        sum = 0;
        for (int i = 0; i < numArray.length; i++)
        {
            sum += numArray[i];
        }
        total = sum;
        avg = total / index;

        median = numArray[numArray.length/2];



        repaint();

    }



    public void paint (Graphics graf)
    {



        graf.drawString("Total   = " + Integer.toString(total), 25, 85);
        graf.drawString("Average = " + Double.toString(avg), 25, 100);
        graf.drawString("Median = " + Integer.toString(median), 25, 115);



    }
}

Antworten auf die Frage(13)

Ihre Antwort auf die Frage