/** * Uebungen mit Arrays. * * Verschiedene Methoden, die einfache Operationen auf int-Arrays durchfuehren. * * Du kannst deine Loesungen mit der beigefuegten Testklasse automatisch * ueberpruefen * - Klicke dazu im Hauptfenster auf Werkzeuge -> Testen -> Tests starten * - Sobald du glaubst, eine Funktion fertig programmiert zu haben, * startest du die Tests und ueberzeugst dich im Testergebnisfenster, * dass der Test fuer diese Funktion erfolgreich durchgelaufen ist. * - Falls er fehlschlaegt, kannst du dort auf den entsprechenden Test klicken * und nachschauen, was genau fehlgeschlagen ist. * */ public class ArrayExperimente { public static int beispiel[]= new int[] {1, 3, 4, -13, 0, 70, -111}; public static int nochnArray[]= new int[] {20,21,22,23,24,25,26}; /** * Gibt das uebergebene Array auf der Konsole aus. * @param array, das ausgegeben werden soll. */ public static void arrayAusgeben(int[] array) { for(int i=0; i bisherigesmax) { bisherigesmax = array[i]; } } return bisherigesmax; } /** * Ermittelt den Index des groessten im Array enthaltenen Elements. * @param array Array, in dem gesucht wird. * @returns Den Index des groessten vorkommenden Werts. */ public static int maxIndex(int[] array) { int bisherigesMaxIndex = 0; for(int i=0;i bisherigesMaxIndex) { bisherigesMaxIndex = i; } } return bisherigesMaxIndex; } /** * Ermittelt den Index des groessten im Array enthaltenen Elements. * @param array Array, in dem gesucht wird. * @returns Den Index des groessten vorkommenden Werts. */ public static int maxIndexKuerzer(int[] aray) { // TODO: Formuliere diese Funktion als Einzeiler, indem du // Funktionen, die du oben schon geschrieben hast, geschickt aufrufst. // Diese Variante einfacher zu formulieren als mit einer Schleife // (braucht allerdings mehr Rechenschritte). // das return steht hier nur, damit der Compiler nicht meckert: return -3244786; } /** * Ermittelt die Summe ueber alle Arrayelemente. * @param array Array, das aufaddiert wird. * @returns Summe aller Arrayelemente. */ public static int querSumme(int[] array) { // TODO... // das return steht hier nur, damit der Compiler nicht meckert: return -32460; } /** * Die Funktion erhoeht im urspruenglichen Array jeden Eintrag um "zuschlag". * Es wird kein neues Array angelegt. * @param array Zu manipulierendes Array. Es darf nicht leer sein. * @param zuschlag diese Zahl wird zu jedem Arrayeintrag dazuaddiert. */ public static void addiereJeweilsD(int[] array, int zuschlag) { // TODO... } /** * Erstellt ein neues Array, in dem die Elemente des * urspruenglichen Array in der umgekehrten Reihenfolge drin sind. * @param array urspruengliches Array, darf nicht null sein * @returns neues Array mit umgekehrter Reihenfolge. */ public static int[] arrayUmdrehen(int[] array) { // fuer diese Funktion darf man ein neues Array anlegen, das // die Eintraege von wendeArray in umgedrehter Reihenfolge enthaelt. // TODO... // das return steht hier nur, damit der Compiler nicht meckert: return null; } /** * Dreht im bestehenden Array dessen Elemente in * die umgekehrte Reihenfolge. Man sagt, die Funktion bearbeitet * das Array "in place". * @param wendeArray urspruengliches Array */ public static void arrayUmdrehenInPlace(int[] array) { // Diese Funktion loest die gleiche Aufgabe wie die obere, darf // dafuer aber KEIN zusaetzliches Array benutzen, sondern muss // (bis auf einzelne int-Variable) im wendeArray arbeiten. // TODO... } }