maximum einer Zahlenfolge in Java ermitteln?
Hi, sollen ein Programm schreiben, in dem eine x beliebige Folge von Zahlen in einen Array eindatiert werden und dann das Maximum dieser Zahlenfolge ermittelt wird(also die groesste Zahl. Tastatur.lies ist unsere Methode für Input. Ich weiss, dass meine herangehensweise wahrscheinlich viel zu umständlich ist . Wir benutzen als IDE Dr Java. Kriege ne ganz komische Fehlermeldung raus. Wäre erfreut wenn ein erfahrener coder eben mal drüberschauen könnte.
1 Antwort
Tach,
deine Exception rührt daher, dass deine Iteration scheinbar zu oft durch den Array läuft, um es kurz zusagen, du versuchst einen Index, eine Stelle in deinem Array, aufzurufen, welche allerdings garnicht existiert.
kurzes Example: du hast einen Array z.B. [1,5,2,3,9], dann hast du die folgende Indexierung [0,1,2,3,4,5], wenn du nun auf den Index 6 oder größer zugreifst, dann bekommst du deine oben gezeiget Exception.
Um deine Frage zubeantworten und deinen Code etwas simpler zugestallten, kannst du eine for Schleife nutzen und immer deine aktuell größte Zahl extern in einer Variable speichern.
Ein freihand example könnte so ähnlich ausschauen:
int[] userInput = (cast zum int array) Tastatur.liestEin()
int highestNumber;
for(int numberToEvaluate : userInput) {
if highestNumber < numberToEvaluate {
highestNumber = numberToEvaluate
}
}
print(highestNumber)
Solltest du noch weitere Fragen haben, kannst du gerne ein Kommentar hinterlassen bzw. wir versuchen via Discord etc. Kontakt aufzunehemen.
Gruß
Alexander
Hey,
es freut mich zuhöhren, dass du mit meinem kleinen Beispiel etwas anfangen konntest und auch den Fehler bzgl. der Exception gefunden hast.
Zu deiner zweiten Frage, ich bin persönlich in der Softwareentwicklung tätig.
Vielen Dank Alexander. Habe die Abkürzung des Algorithmus verstanden und angewandt. Und durch deinen Hinweis habe ich auch bemerkt dass folge[i+1] den fehler verursacht. Habe das +1 dann streichen können für die Schleife. Dankeschön und schönen Abend noch! Aber eine Frage hätte ich noch, falls Sie diese beantworten möchten. Bei Ihnen steht, dass Sie mit sowas im Beruf zutun haben. Als was sind Sie denn genau tätig?