Java array middle ausgeben?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wie sollte dir das auch etwas anderes ausgeben als die ersten beiden Werte?

Du setzt result[0] und result[1] konstant auf nums[0] und nums[1];

Außerdem möchte ich anmerken, dass nicht jeder Array zwei mittlere Werte hat, sondern nur Arrays mit gerader Elemntzahl.


RaBo129 
Fragesteller
 02.12.2019, 17:39

Warum setzte ich denn den neuen array konstant auf nuns[0] und nums [1]? Wo liegt der Fehler?

Ah ja aber es handelt sich bei der Aufgabe um immer gerade Arrays

0
Destranix  02.12.2019, 17:42
@RaBo129

Der Fehler liegt vermutlich darin, dass du "counter" auf 0 setzt. Wäre counter = nums.length, dann hättest du schon fast das richtige Ergebniss(du müsstest von mid und midnext noch 1 abziehen, um die korrekten Werte zu bekommen.)

Pass aber auf mit invaliden Eingaben, also solchen mit Länge = 0.

1

Was soll es bringen Counter am Ende noch zu erhöhen?
Du fängst an mit counter=0. Davon die Hälfte ist 0. Also ist mid=0 und midnext=1.

Deshalb bekommst du immer die ersten zwei Elemente deines Arrays. Du musst Counter einen sinnvollen Wert zuweisen bevor du damit arbeitest. Danach bringt es nichts mehr.

Also musst du deine for-Schleife nach oben ziehen zwischen int counter = ...
und int mid = ... oder du nimmst direkt int counter = nums.length;