return Anweisungen und Array Elemente löschen

REC

Bekanntes Mitglied
Hallo zusammen,

Hab hier mal wieder ein simples Problem aber finde es nicht heraus.

Es geht darum das wir eine Array haben mit dem Namen "liste". In dieser Liste haben wir das Objekt Element welches eine entsprechende ID hat.
Die Aufgabe war es verschiedene Befehel für die Array selber zu programmieren.Zum Beispiel war ein Befehl,das ein Element immer zuvorderst eingefügt wurde.Für das musste man ja die restliche Elemente nach hinten schieben.
So, doch nun muss ich Elemente mit der entsprechende ID löschen.
Daraus ergeben sich 2 Fragen.

Grundsätzlich kann man ja keine Elemente einfach so löschen wie in einer ArrayList,darum dachte ich,ich muss die Elemente nachrutschen.Doch wenn ich das letzte Element der Liste löschen will,dann kann ich ja da nichts nachrutschen?

Dann ist da noch ein anders Problem. Bei der Methode "delete" muss ja ein boolean zurückgegeben werden, so wie mein Code unten ist funktioniert es nicht.
Der Compiler meint " This method must return a result of type boolean"Aber das mach ich doch?

Die Idee der Methode ist. Gehe die Liste durch falls keine passende ID gefunden wird dann schreib "Keine passende ID gefunden" Man so simpel aber ich check es nicht.:oops:
Kann mir hier jemand weiterhelfen?

Java:
@Override
	public boolean delete(int id) {

		for (int i = 0; i < anzEl; i++) {
			if (liste[i].getId() == id) {  
                                //Hier kommt dann der lösch Vorgang
				return true;
			} else {
				System.out.println("Keine passende ID gefunden");
				return false;
			}
		}

	}
 

eRaaaa

Top Contributor
Stubs in die richtige Richtung:
DU kontrollierst so gar nicht alle Elemente, sondern nur das Erste, wenn das schon nicht die gesuchte ID hat, gibst du ja direkt false zurück, d.h. die Methode wird beendet!
Lasse den else Teile einfach weg und gebe zum Schluss einfach false zurück. (das heißt ja, dass dann die ID nicht gefunden wurde)
 

REC

Bekanntes Mitglied
Sieht du genau das habe ich befürchtet so simpel und ich überseh das.
Erst als du mich daruf aufmerksam gemacht hast das ich ja nur das erste Element kontrolliere fiel es mir auf :bloed:

Habe es nun so geändert nun funktioniert das wie gewünscht

Java:
public boolean delete(int id) {

		for (int i = 0; i < anzEl; i++) {
			if (liste[i].getId() == id) {

				return true;
			}
		}
		System.out.println("Keine passende ID gefunden");
		return false;

	}

Aber kannst du mir ein weiter Hinweis auf Problem geben mit dem Löschen der Elemente aus der Liste?Speziell das letze Element :)
 

eRaaaa

Top Contributor
Gibt sicherlich mehrere Möglichkeiten.
Eine wäre, einfach ein neues Array zu erstellen welches einfach um die Länge eins kleiner ist, und eben alle Objekte aus dem alten enthält, bis auf das eine.
Entweder du baust dir das selber oder evtl. mit System.arraycopy o.ä.,
 

L-ectron-X

Gesperrter Benutzer
Ich glaube, wenn man Arrays dynamisch haben möchte, sollte man dann doch auf fertig implementierte Listen-Typen aus java.util zurückgreifen. Bspw. eine ArrayList.
Die Klassen aus dem Collections-Framework sind mächtig und ihre Anwendung ist recht einfach.
 

REC

Bekanntes Mitglied
Nun ja eigentlich ist es schon die bessere Lösung mit einer ArrayList.
Aber aufgrund der Übung dürfen wir nicht eine ArraList benutzen.Aber ich verfolge mal den Ansatz mit einer neuen Array.
 

REC

Bekanntes Mitglied
So habe es nun so gemacht.Hoffe das dies auch eine "aktzeptable" Lösung ist.Eben ArrayList wäre sicher einfacher aber man durfte sie nicht benutzen.
Die Idee ist das ich etwas lösche und dann alle Elemente nachrutsche.Am Schluss habe ich dann 2x das gleiche Element,daher kopiere ich die Liste nochmal ohne das letzte Element

Java:
public boolean delete(int id) {
        //Geht den Array durch.
		for (int i = 0; i < anzEl; i++) {
			
			if (liste[i].getId() == id) {
				
				for (int z = i; z < anzEl - 1; z++) {
					liste[z] = liste[z + 1];
				}
				
				System.arraycopy(liste, 0, liste2, 0, anzEl - 1);
				
				anzEl--;
				liste = liste2;

				return true;
			}
		}
		System.out.println("Keine passende ID gefunden");
		return false;
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiMa Java Doc mehrere Return Parameter Java Basics - Anfänger-Themen 11
A Return in While Schleife Java Basics - Anfänger-Themen 6
J Rekursive Funktion und return statement Java Basics - Anfänger-Themen 3
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
M Warum return die Methode den Wert nicht Java Basics - Anfänger-Themen 5
S Methoden Return Rückgabewert wird nicht übergeben Java Basics - Anfänger-Themen 8
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
I Return Array Java Basics - Anfänger-Themen 4
Q return Ausgabe Java Basics - Anfänger-Themen 4
javapingu Variablenwerte ändern ohne return Statement? Java Basics - Anfänger-Themen 7
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
G return 1 + methode 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
JD_1998 Hilfsmethode if return funktioniert nicht Java Basics - Anfänger-Themen 2
J Missing Return Statement Java Basics - Anfänger-Themen 11
T Return einer anderen Methode herausfinden Java Basics - Anfänger-Themen 9
C ArrayList mit return zurückgeben Java Basics - Anfänger-Themen 13
M kann man return in nur einer Methode einsetzen? Java Basics - Anfänger-Themen 7
V return String[] führt zu [Ljava.lang.String;@50675690 Java Basics - Anfänger-Themen 7
K Return in Schleife Java Basics - Anfänger-Themen 4
B Statische Methode return funktioniert nicht. Java Basics - Anfänger-Themen 19
S Missing return Java Basics - Anfänger-Themen 4
das_leon return message Java Basics - Anfänger-Themen 2
C return kann nicht auf variable zugreifen Java Basics - Anfänger-Themen 26
N Ausführung gibt keinen Fehler an, Return wird aber nicht ausgegeben Java Basics - Anfänger-Themen 22
R return: cannot find symbol Java Basics - Anfänger-Themen 2
R Ratespiel mit Return und einer Eingabe Java Basics - Anfänger-Themen 1
Z Return in While-Schleife Java Basics - Anfänger-Themen 7
N Frage zu this, super und return Java Basics - Anfänger-Themen 13
K ArrayList ausgeben mit return Java Basics - Anfänger-Themen 6
M Return statement Java Basics - Anfänger-Themen 4
J-Gallus Ein Getter bekommt eine anderen Type als er Return soll Java Basics - Anfänger-Themen 9
J Variablen Komsiche System.in.read() return-value? Java Basics - Anfänger-Themen 3
M Abbrechen Methode ohne return Java Basics - Anfänger-Themen 3
M Methoden Datei einlesen und als return übergeben. Java Basics - Anfänger-Themen 8
L OOP Return Java Basics - Anfänger-Themen 10
L Erste Schritte Frage zu 'return' Java Basics - Anfänger-Themen 4
J Methoden Rekursive Return Methode Java Basics - Anfänger-Themen 2
W Return statement in Methode nur bei if-clause Java Basics - Anfänger-Themen 3
D Methoden Return-Wert wird nicht ausgegeben Java Basics - Anfänger-Themen 3
F Return-Anweisung Java Basics - Anfänger-Themen 2
E Erste Schritte <? super Unterklasse> Return-Typ darf nicht vom Wildcard-Typ sein Java Basics - Anfänger-Themen 5
B OOP Methode mit Array mit return verlassen Java Basics - Anfänger-Themen 8
J Grundsätzliche Frage zu return Types in Methoden Java Basics - Anfänger-Themen 6
G return-wert für eine Methode Java Basics - Anfänger-Themen 1
B Methoden Probleme mit for Schleife und return Java Basics - Anfänger-Themen 5
Q Tastatureingabe direkt nach Eingabe (ohne zwischenzeitliches "Return" o.Ä ) weiterverwenden Java Basics - Anfänger-Themen 1
B Variablen Problem mit return String[] Java Basics - Anfänger-Themen 4
O Per return Run Methode beenden Java Basics - Anfänger-Themen 3
M Arrays als return Value? Java Basics - Anfänger-Themen 2
C Return statement Java Basics - Anfänger-Themen 10
T Boolean Missing return Statement?! Java Basics - Anfänger-Themen 2
Z Methoden return nullprüfung Java Basics - Anfänger-Themen 7
O Java return in Schleife Java Basics - Anfänger-Themen 4
K Was macht hier genau return? Java Basics - Anfänger-Themen 2
G Methoden Was bedeutet return in einer Methode Java Basics - Anfänger-Themen 5
Y Warum void statt Datentyp + return Java Basics - Anfänger-Themen 4
K Variablen RETURN in Case-Switch / This method must return a result of type Item Java Basics - Anfänger-Themen 4
K Erste Schritte "return" Problem bei Rekursion Java Basics - Anfänger-Themen 8
R If Verschachtelung und return; Java Basics - Anfänger-Themen 4
M Frage zum return; Befehl Java Basics - Anfänger-Themen 1
S try-catch - Variablen werden nicht an return übergeben Java Basics - Anfänger-Themen 3
C Einige Anfängerfragen (Return-Wert, Exception...) Java Basics - Anfänger-Themen 11
S Methoden Return Java Basics - Anfänger-Themen 8
T return-Wert verwenden? Java Basics - Anfänger-Themen 12
T Return eines Int-Werts? Java Basics - Anfänger-Themen 3
W return-Anweisung gibt nichts aus Java Basics - Anfänger-Themen 5
R Return in If Java Basics - Anfänger-Themen 10
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
G array return methode Java Basics - Anfänger-Themen 10
L return wird nicht erkannt? Java Basics - Anfänger-Themen 3
J Regex mit Return Java Basics - Anfänger-Themen 3
M Variablen return-array klonen Java Basics - Anfänger-Themen 3
A Methode mit Array als Param --> return Array --> Fehler Java Basics - Anfänger-Themen 3
S Zeichen einlesen ohne Return? Java Basics - Anfänger-Themen 19
P Compiler-Fehler Boolean: Missing Return Statement Java Basics - Anfänger-Themen 4
S probleme mit der return anweisung Java Basics - Anfänger-Themen 20
E Warum wird Methode nicht durch return-Befehl beendet? Java Basics - Anfänger-Themen 3
V Erste Schritte Return ohne Argument Java Basics - Anfänger-Themen 6
I Methoden Missing return statement; Intervallschachtellung Java Basics - Anfänger-Themen 12
S Frage zu Vererbung und return. Java Basics - Anfänger-Themen 4
R return (mehrere floats) Java Basics - Anfänger-Themen 11
E Return String Java Basics - Anfänger-Themen 10
P Methoden Methode ohne return abbrechen? Java Basics - Anfänger-Themen 12
I Return Befehl in Methode Java Basics - Anfänger-Themen 13
M Problem mit boolean. Return nicht erkannt Java Basics - Anfänger-Themen 10
P Return aus For-Schleife Java Basics - Anfänger-Themen 19
S return in GUI ? Java Basics - Anfänger-Themen 12
M This method must return a result of type int Java Basics - Anfänger-Themen 13
F Erste Schritte return (char)toUnsignedInt(value) Java Basics - Anfänger-Themen 2
A Falscher Return-Wert Java Basics - Anfänger-Themen 2
M missing return statement?! Java Basics - Anfänger-Themen 4
L Return Fragen Java Basics - Anfänger-Themen 4
R Nach return() der aufgerufenen Methode wird aufrufende Methode nicht weiter ausgeführt Java Basics - Anfänger-Themen 14
I Null als return obwohl datensatz existiert Java Basics - Anfänger-Themen 12
S this method must return a result of type double Java Basics - Anfänger-Themen 2
V Problem mit return Java Basics - Anfänger-Themen 7
K Return Problem Java Basics - Anfänger-Themen 3
M Fragen zu Methoden (void/return), Übergabe von Parametern Java Basics - Anfänger-Themen 3
M Objekto.Programm. Return-Befehl Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben