• Wir präsentieren Dir heute ein Stellenangebot für einen Frontend-Entwickler Angular / Java in Braunschweig. Hier geht es zur Jobanzeige

Methode zum invertieren eines Arrays

L

Leeki

Mitglied
Hallo zusammen,

Ich bin am Anfang meines Studiums und neu hier im Forum. Für mein Praktikum ( bzw für meine Abgabe) dieser Woche muss ich einige Online Tests und Quizze machen. Der letzte Teil der Aufgabe besteht immer aus einem selbst programmierten Code. Nun komme ich zu meinem Problem.

Vorerst muss ich noch sagen, dass ich kein komplettes Programm schreiben muss, sondern nur Teilstücke ( in diesem Fall Methoden zur Ausgabe eines Arrays ). Ich hänge nun seit einer längeren Zeit bei der Invertierung fest.

Aufgabenstellung:
Füllen Sie den Rumpf der unten stehenden Klasse ArrayUtil mit folgenden Klassenmethoden :
- Eine Methode invertArray(), die die Reihenfolge der Werte eines übergebenen int-Arrays vertauscht und das bearbeitete int-Array zurückgibt (return).
- Die Elemente sollen durch Komma und ein dem Komma folgenden Leerzeichen getrennt werden. Beachten sie: nach dem letzten Element steht kein Komma
- Schreiben Sie nur die Klasse mit den angegebenen Methoden (keine main-Methode)

Die Eingabe durch den Tester sieht wie folgt aus:
Java:
[/B]
int[] intArray = {2, 4, 6, 8, 7, 4, 8, 9, 2, 2, 5};
intArray = ArrayUtil.invertArray(intArray);
ArrayUtil.printArray(intArray);
[B]

Bei den vorigen Aufgaben konnte ich mit void arbeiten und deshalb war kein return von Nöten. Nun soll ich return verwenden, aber ich habe keinerlei Ahnung welches "return statement" ich benutzen muss.
Java:
[/B]
 public static int invertArray(int[] intArray)
    {
        int num= intArray.length;
        for (int i=0;i < num/2; i++)
        {
            int temp = intArray[i];
            intArray[i]= intArray[num-1-i];
            intArray[num-1-i]=temp;
        }
        for(int i=0;i<num;i++)
        {
            System.out.print(intArray[i]);
            if(i<=num-1)
            {
                System.out.print(", ");
            }
        }
    }
[B]

Syntaxfehler​

__tester__.java:53: error: missing return statement
}
^
1 error

Ich hoffe ich bin hier richtig und bedanke mich schon mal im Voraus.
 
H

httpdigest

Top Contributor
Deine Methode "invertArray" hat als Rückgabetyp `int`.
Das sieht man, wenn man sich die Methodendeklaration anguckt:
Java:
public static int invertArray(int[] intArray)
Der Rückgabetyp ist das Wort "int" hinter dem "static".
Da deine Methode aber weder ein einzelnes int zurückliefern soll, noch tut, wundert sich der Java-Compiler, dass du nirgendswo im Java-Code der Methode ein `return` Statement verwendest (google mal "Java return statement"), um zu sagen, welchen int Wert du denn zurückliefern willst (hint: willst du ja gar nicht).
Desweiteren gibst du auf stdout auch in der Methode das Array aus, wofür ja eigentlich eine andere Methode zuständig sein sollte.
 
L

Leeki

Mitglied
Vielen Dank schon mal. Hast recht, diese Methode dient nur zum invertieren und nicht zum invertieren+ ausgeben. Return Statements habe ich eigentlich verstanden, also zumindest bei simplen Sachen wie Rechnungen ( zB return summe). Jedoch weiß ich gerade nicht wie ich das bei einem Array mache. Außerdem stell ich mir die Frage ob ich ein zweites Array erzeugen muss in dem dann die invertierte Version gespeichert wird. Sobald ich versuche ein Array mit return auszugeben kommt :
Java:
[/B]
__tester__.java:43: error: '.class' expected
        return intArray[];
[B]
 
P

PinkMuffin

Bekanntes Mitglied
Java:
[/B]
__tester__.java:43: error: '.class' expected
        return intArray[];
[B]
Du hast ein spezifisches Array (intArray), das du zurückgeben willst. Die Klammern brauchst du da nicht, im Gegenteil.
Und ein zweites Array musst du nur erzeugen, wenn du beide Versionen haben willst. Das würde ich aber in der aufrufenden Klasse machen und nicht in der Methode selber.
 
L

Leeki

Mitglied
Ok die Klammern bei dem return Statement habe ich weggelassen. Den Rückgabewert nach dem static habe ich auch geändert, nachdem ich mich etwas mehr belesen habe. Jedoch funktioniert es nicht.
Java:
[/B]
   public static int[] invertArray(int[] intArray)
    {
        int num= intArray.length;
        for (int i=0;i < num/2; i++)
        {
            int temp = intArray[i];
            intArray[i]= intArray[num-1-i];
            intArray[num-1-i]=temp;
        }
        return intArray;
    }
[B]
Fehlermeldung:
Java:
[/B]
[HEADING=3]Syntaxfehler[/HEADING]
__tester__.java:62: error: incompatible types: void cannot be converted to int[]
intArray = ArrayUtil.shiftArray(intArray, 3);
                               ^
1 error
[B]
Moment, ich glaube das bezieht sich auf den letzten Teil mit der Verschiebung. Ist der Abschnitt mit dem invertieren dann soweit richtig ?
 
L

Leeki

Mitglied
Ist es möglich ein Array um einen bestimmten Wert nach links zu verschieben ohne ein zweites Array erzeugen zu müssen ?
 
H

httpdigest

Top Contributor
Sagen wir mal so: Man kann ein existierendes Array nicht in seiner Länge verändern. Mit den Elementen kannst du machen, was du willst. Du kannst das Array nur nicht kürzen oder verlängern.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
T getAttribut in einer Methode aufrufen Java Basics - Anfänger-Themen 8
T Methode um Array mit for-each-Schleife auszulesen Java Basics - Anfänger-Themen 7
N Groß- und Kleinschreibung bei Java: void Methode Java Basics - Anfänger-Themen 1
BorussiaMG1900 Implementation einer Methode Java Basics - Anfänger-Themen 1
H Kürzere Scan Methode Java Basics - Anfänger-Themen 7
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
L Methode für Zweidimensionale Arrays Java Basics - Anfänger-Themen 4
H Methode mit Array als Rückgabe This method must return a result of Type int[] Java Basics - Anfänger-Themen 2
G Erste Schritte Array Mittelwert Methode Programmieren Java Basics - Anfänger-Themen 5
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
KogoroMori21 Methode in der main ausgeben Java Basics - Anfänger-Themen 2
LetsSebi Methode, die einen arry von objekten speichert in einer datei Java Basics - Anfänger-Themen 6
s_1895 zu viele Zeilen in der Main Methode Java Basics - Anfänger-Themen 4
M Rekursive Java-Methode Java Basics - Anfänger-Themen 13
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
B Methoden warum macht die Methode nicht das was ich erwarte? Java Basics - Anfänger-Themen 2
L Attribute aus Klasse in berechnungs Methode übergeben Java Basics - Anfänger-Themen 1
Y Aufruf von Methode nicht möglich. Java Basics - Anfänger-Themen 2
O Instanzattribut per Getter Methode zuweisbar, warum? Java Basics - Anfänger-Themen 3
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
G Methoden Methode die aus einem Array ein Index ausgibt? Java Basics - Anfänger-Themen 2
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
P Methode die ausgibt wie viele Primzahlen es zwischen 2 und n gibt Java Basics - Anfänger-Themen 10
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
M negate Methode Java Basics - Anfänger-Themen 13
JavaClara Fehlermeldung bei split-Methode Java Basics - Anfänger-Themen 12
A Methode in einer anderen Klasse verwenden Java Basics - Anfänger-Themen 1
Eule25 Methode mit Array Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
S HashMap contains() Methode Java Basics - Anfänger-Themen 1
F Methoden Methode richtig aufrufen Java Basics - Anfänger-Themen 3
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
T Methode implementieren Java Basics - Anfänger-Themen 21
JD_1998 Vorgegebene Methode erweitern um Hex -> Dezimal umzuwandeln Java Basics - Anfänger-Themen 1
A While Schleife - buubelsort methode Java Basics - Anfänger-Themen 2
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
X compareTo Methode wird ignoriert Java Basics - Anfänger-Themen 7
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
J Methode als Class anlegen Java Basics - Anfänger-Themen 7
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
M this.object in einer parameterlosen Methode verwenden Java Basics - Anfänger-Themen 3
P Methode trim() ohne StringBuilder Java Basics - Anfänger-Themen 1
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
O BiPredicate in einer forEach Methode Java Basics - Anfänger-Themen 10
B Klassen Abstrake Klasse und Template Methode Java Basics - Anfänger-Themen 4
parrot Array: Methode fügeHinzu Java Basics - Anfänger-Themen 13
B Eine Methode erstellen Java Basics - Anfänger-Themen 3
G Java charAt Methode Java Basics - Anfänger-Themen 10
B main Methode Java Basics - Anfänger-Themen 5
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
G Java LinkedList remove Methode Java Basics - Anfänger-Themen 5
L Wie greife ich in der Subklasse auf die Parameter einer Methode der Superklasse zu ? Java Basics - Anfänger-Themen 15
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
1 main-Methode erweitern, Nachfrage nach wiedeholung Java Basics - Anfänger-Themen 2
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
G Java equals() Methode Java Basics - Anfänger-Themen 9
I Greedy Methode Methoden nutzen Java Basics - Anfänger-Themen 3
B Hilfe bei einer rekursiven Methode Java Basics - Anfänger-Themen 3
V Collections Methode in der Methode aufrufen Java Basics - Anfänger-Themen 2
A Implementierung von String toString methode() Java Basics - Anfänger-Themen 4
S Auf Methode einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 3
Z Methode zum Heraufinden von Anagrammen ohne Java API, Ausnahme String Java Basics - Anfänger-Themen 14
B Get / Set - Methode für verschiedene Entities? (generisch) Java Basics - Anfänger-Themen 21
J main methode Java Basics - Anfänger-Themen 1
C Methode Seiten tauschen eines erstellten Rechtecks mit Seite A und B Java Basics - Anfänger-Themen 9
R Methode zwei Sortierkriterien der Klasse Comparator übergeben Java Basics - Anfänger-Themen 4
J Methoden set Methode array Java Basics - Anfänger-Themen 2
V Switch Methode macht Code kaputt Java Basics - Anfänger-Themen 18
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
J Apache Poi - createCell() Methode akzeptiert keinen Index aus for-schleife als Parameter Java Basics - Anfänger-Themen 4
S Wann Methode abstract? Java Basics - Anfänger-Themen 10
L Objekt an Methode übergeben Java Basics - Anfänger-Themen 4
H Rekursiv Methode ausführen bei Kindern Java Basics - Anfänger-Themen 12
R Methode Rückgabe Java Basics - Anfänger-Themen 10
M Implementierung einer getNextId Methode Java Basics - Anfänger-Themen 5
bensdt Klasse erweitern um eine Methode "void decrement()" Java Basics - Anfänger-Themen 5
N Mit Objekt der Superklasse auf Methode der Subklasse zugreifen Java Basics - Anfänger-Themen 6
R Signatur einer Methode in JAVA Java Basics - Anfänger-Themen 4
B LinkedList add-Methode Java Basics - Anfänger-Themen 10
S Methode von vererbter Klasse, statt die der "Mutterklasse" aufrufen Java Basics - Anfänger-Themen 28
J Rekursive swapArray Methode Java Basics - Anfänger-Themen 69
Kirby.exe Methode aus Superklasse benutzen Java Basics - Anfänger-Themen 18
G Linked list, Methode zum Vertauschen von Elementen Java Basics - Anfänger-Themen 14
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
J Memory-Spiel Aktivierung der Methode mit Timer Java Basics - Anfänger-Themen 44
T Collections Methode (Knoten hinzufügen) für Graphen Java Basics - Anfänger-Themen 32
D ArrayQueue - enqueue Methode Java Basics - Anfänger-Themen 2
N Methode mit einer Arraylist Java Basics - Anfänger-Themen 106
I ArrayList - Methode zum Speichern eines Eintrags in einer Datei Java Basics - Anfänger-Themen 17
J Womit kann ich diese Methode testen? Java Basics - Anfänger-Themen 5
UnknownInnocent Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben