Also schreibe ich eine Methode, in der sie den Median eines n-nummerierten Arrays findet. Wenn das Array eine ungerade Anzahl von Elementen hat, funktioniert es gut, aber wenn das Array eine gerade Anzahl von Elementen hat, möchte ich, dass das Programm die höhere der 2 mittleren Zahlen und nicht die untere der 2 ausgibt. Im aktuellen Moment Mein Code gibt die niedrigere Nummer aus. Dies ist der Code:Median-Methode, die einen höheren Wert zurückgibt Median
public Long getMedian() {
long median = 0;
Arrays.sort(elements);
if (length % 2 != 0) {
median = elements[length/2];
} if (length % 2 == 0) {
median = ((elements[length/2]) + (elements[(length/2) - 1]))/2;
median++;
}
return median;
}
Zum Beispiel, wenn das Array mit Zahlen [30 41 45 50]
eingegeben wurde, wäre der Median 45, nicht 41. Bitte helfen Sie!
Wow, das ist unglaublich, dass so ein einfacher Ansatz übersehen werden könnte! Vielen Dank! –