Implementieren Sie eine statische-public Methode mit dem Namen "generateNumbers" in der Klasse "Functionality.java".
Die Methode bekommt als Eingabeparameter zwei Integer-Werte und gibt einen Integer-Array zurück.
Signatur: generateNumbers(int start, int end) : int[]
generateNumbers soll ein Array rekursiv (!) mit den ganzzahligen Werten vom Startindex "start" bis zum Endindex "end" füllen.
Startindex und Endindex sind inklusive und sollen eingeschlossen werden.
Das gefüllte Array wird anschließend zurückgegeben.
Wenn der Startindex echt größer als der Endindex ist, soll ein leeres Array zurückgegeben werden.
Die Methode soll auch für negative Eingabewerte funktionieren.
Beispiel: generateNumbers(-2,1) ---> [-2, -1, 0, 1]
Die Erstellung von Hilfsmethoden ist erlaubt und vereinfacht die rekursive Implementation.
Die Hilfsmethoden müssen aber von der geforderten Methode "generateNumbers" aufgerufen werden.
Ich soll das Problem nicht iterativ lösen und darf keine Schleifen verwenden!
Problem: Bei mir auf der Konsole wird folgendes gezeigt:
[I@7a81197d
d.h Ich habe irgendwo schweren Fehler gemacht was ich leider nicht finde
Die Methode bekommt als Eingabeparameter zwei Integer-Werte und gibt einen Integer-Array zurück.
Signatur: generateNumbers(int start, int end) : int[]
generateNumbers soll ein Array rekursiv (!) mit den ganzzahligen Werten vom Startindex "start" bis zum Endindex "end" füllen.
Startindex und Endindex sind inklusive und sollen eingeschlossen werden.
Das gefüllte Array wird anschließend zurückgegeben.
Wenn der Startindex echt größer als der Endindex ist, soll ein leeres Array zurückgegeben werden.
Die Methode soll auch für negative Eingabewerte funktionieren.
Beispiel: generateNumbers(-2,1) ---> [-2, -1, 0, 1]
Die Erstellung von Hilfsmethoden ist erlaubt und vereinfacht die rekursive Implementation.
Die Hilfsmethoden müssen aber von der geforderten Methode "generateNumbers" aufgerufen werden.
Ich soll das Problem nicht iterativ lösen und darf keine Schleifen verwenden!
Problem: Bei mir auf der Konsole wird folgendes gezeigt:
[I@7a81197d
d.h Ich habe irgendwo schweren Fehler gemacht was ich leider nicht finde
Java:
public class Functionality {
public static void main(String[] args) {
System.out.println(generateNumbers(-2, -1));
}
public static int[] generateNumbers(int start, int end) {
if (start > end) {
return null;
}
int[] numbers = new int[end - start + 1];
generateNumbersHelper(numbers, 0, start, end);
return numbers;
}
public static void generateNumbersHelper(int[] numbers, int index, int start, int end) {
if (start > end)
return;
numbers[index] = start;
generateNumbersHelper(numbers, index + 1, start + 1, end);
}