remove bei Vector klappt nicht

Status
Nicht offen für weitere Antworten.

megachucky

Bekanntes Mitglied
wenn ich deleteKunde(kunde2) aufrufe, wird anscheinend der kunde2 nicht gelöscht, da er nachher bei printKunde immer noch ausgegeben wird.
habs schon mit remove und removeElement probiert. was mache ich falsch?

und noch eine frage: wenn ich bei einer methode als rückgabe wert String habe müsste doch der text genauso ausgeben werden, wie wenn ich die methode innerhalb von System.out.println(" .... " ) aufrufe, oder?
leider ist das bei mir nicht der fall. oder irre ich mich da?

vielen dank für hilfe.

hier der code:


Code:
package aufgabenblatt1.aufgabe1;

/**
 * @author Kai
 * 
 * Repräsentiert einen Kunden der Videothek
 */
public class Kunde 
{
	private static int _kundennummer = 0;
	private String _name;
	private String _vorname; 
	private String _ort;
	private int _postleitzahl;
	
	public Kunde(String name, String vorname, int postleitzahl, String ort)
	{
		_kundennummer++;
		this._name = name;
		this._vorname = vorname;
		this._ort = ort;
		this._postleitzahl = postleitzahl;
	}
	
	/**
	 * Gibt die Daten des Kunden aus
	 * @return Kundendaten
	 */
	public String printKunde()
	{
		String temp = new String("\n");
		temp += "Kundendaten:\n";
		temp += "Kundennummer: " + getKundennummer() +"\n";
		temp += "Name: " + getKundenname() + " " + getVorname() + "\n";
		temp += "Adresse: " + getPostleitzahl() + " " + getOrt() + "\n";
		temp += "-----------------------------------------------------------------";
		
		return temp;
		
	}
	
	/**
	 * @return Returns the _name.
	 */
	public String getKundenname()
	{
		return _name;
	}
	
	/**
	 * @return Returns the _kundennummer.
	 */
	public int getKundennummer() {
		return _kundennummer;
	}
	/**
	 * @return Returns the _ort.
	 */
	public String getOrt() {
		return _ort;
	}
	/**
	 * @return Returns the _postleitzahl.
	 */
	public int getPostleitzahl() {
		return _postleitzahl;
	}
	/**
	 * @return Returns the _vorname.
	 */
	public String getVorname() {
		return _vorname;
	}
}





package aufgabenblatt1.aufgabe1;

import java.util.Vector;

/**
 * @author Kai
 *
 * Repräsentiert eine Videothek
 */
public class VideothekImpl 
{
	private Vector kundenlisteVector;
	private static int _videothekenID = 0;
	private String _name;
	
	public VideothekImpl(String name)
	{
		_videothekenID++;
		this._name = name;
		
		kundenlisteVector = new Vector();
	}
	
	public String addKunde(Kunde k)
	{
		kundenlisteVector.add(k);
		
		return new String("Kunde '" + k.getKundenname() + " " + k.getVorname() 
				+ "' wurde erfolgreich hinzugefügt.");
	}
	
	public String deleteKunde(Kunde k)
	{
		kundenlisteVector.removeElement(k);
		
		return new String("Kunde '" + k.getKundenname() + " " + k.getVorname() 
				+ "' wurde erfolgreich entfernt.");
	}
	
	public String printKundendaten(Kunde k)
	{
		return k.printKunde();
	}
}









package aufgabenblatt1.aufgabe1;

/**
 * @author Kai
 * 
 * Testklasse, um zu testen ob alle Funktionen ohne Fehler laufen
 */
public class VideothekTestClass 
{
	public static void main(String[] args)
	{
		Kunde kunde1 = new Kunde("Wähner", "Kai", 91090, "Effeltrich");
		System.out.println(kunde1.getKundennummer());
		
		Kunde kunde2 = new Kunde("Wähner", "Gabi", 91090, "Effeltrich");
		System.out.println(kunde2.getKundennummer());
		
		VideothekImpl v1 = new VideothekImpl("Top Video");
		System.out.println(v1.addKunde(kunde1));
		System.out.println(v1.addKunde(kunde2));
		
		v1.deleteKunde(kunde2);
		
		System.out.println(v1.printKundendaten(kunde1));
		System.out.println(v1.printKundendaten(kunde2));
	}
}
 

semi

Top Contributor
Implementiere die Methode
Code:
public boolean equals(Object o)
in der Klasse Kunde, dann geht's wieder.
 

megachucky

Bekanntes Mitglied
eh, könntest du es evtl etwas deutlicher erklären.

wie muss ich sie implementieren? und fürs verständnis, warum überhaupt?

vielen dank.
 
S

stev.glasow

Gast
Code:
public class Kunde{
 //...  das was du bisher hast

public boolean equals(Object obj){
  return obj != null && obj  instanceof Kunde && obj.hashCode() == hashCode();
}


public int hashCode(){
  return _kundennummer;
}

}

Obwohl es doch eigentlich auch so wie es vorher war hätte funktionieren müssen ???:L
 
S

stev.glasow

Gast
achso,
System.out.println(v1.printKundendaten(kunde1));
System.out.println(v1.printKundendaten(kunde2)); // !!!!!!!!!!111

grmf
das mit equals ist gar nicht nötig.

Die Methode printKundendaten arbeitet überhaubt nicht mit dem Vector
:autsch:
 

semi

Top Contributor
Stimmt. Object.equals macht einen Referenzvergleich, so dass das
Objekt auf jeden Fall aus dem Vector verschwindet.

@stevg
Scharfes Auge. :applaus::wink:
 

megachucky

Bekanntes Mitglied
Obwohl es doch eigentlich auch so wie es vorher war hätte funktionieren müssen

hm, warum geht es denn dann nicht ?!? :)



das mit equals ist gar nicht nötig.

Die Methode printKundendaten arbeitet überhaubt nicht mit dem Vector


System.out.println(v1.printKundendaten(kunde1));
System.out.println(v1.printKundendaten(kunde2)); // !!!!!!!!!!111


also jetzt bin ich total verwirrt.

das hatte ich ja schon so, aber warum funktioniert es denn dann nun nicht?
das remove vom Vector muss doch eigentlich klappen, oder? und dann hätte ja die printKunde methode keinen 'kunde2' mehr zum printen ?!?
 

Bleiglanz

Gesperrter Benutzer
public String printKundendaten(Kunde k)
{
return k.printKunde();
}
dein Programm hat schon richtig gelöscht, aber du gibts ja einfach kunde1 und kunde2 aus, ohne rücksicht darauf, ob die jetzt in der liste sind oder nicht??
 

megachucky

Bekanntes Mitglied
achso, jetzt versteh ichs.
also muss ich es zb mit nem Iterator machen, und den Vector durchgehen, richtig?

würd mich auch noch über ne antwort zur zweiten fragen freuen:

wenn ich bei einer methode als rückgabe wert String habe müsste doch der text genauso ausgeben werden, wie wenn ich die methode innerhalb von System.out.println(" .... " ) aufrufe, oder?
leider ist das bei mir nicht der fall. oder irre ich mich da?
 

mic_checker

Top Contributor
In System.out.println("...") wird der zurückgegebene Wert der Methode ausgegeben oder falls du ein Objekt drin stehen hast: die entsprechende toString() Methode aufgerufen (falls diese nicht überschrieben wurde die von Object).

Wo gibt er deiner Meinung nach was unterschiedliches aus?
 

megachucky

Bekanntes Mitglied
also ich dachte wenn ich eine methode habe die als rückgabewert einen String hat, kann ich in der testklasse einfach diese methode aufrufen ohne das System.out.println davor.

bsp:

System.out.println(printAlleKunden());

ich dachte es geht auch, wenn ich nur schreibe:
printAlleKunden();

???
 

Bleiglanz

Gesperrter Benutzer
nein, wenn der Rückgabewert ein String (oder irgendwas anderes ist), dann macht die Zeile

fooFunktion();

nix mit der Ausgabe (der Rückgabewert wird einfach ignoriert...)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
krgewb remove in for Java Basics - Anfänger-Themen 5
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
G Java LinkedList remove Methode Java Basics - Anfänger-Themen 5
D remove arraylist by id not work Java Basics - Anfänger-Themen 6
H Collections JTree remove zeigt keinen Effekt! Java Basics - Anfänger-Themen 8
B Sorting List und Remove Java Basics - Anfänger-Themen 2
P Map - remove() ? Java Basics - Anfänger-Themen 46
Hacer remove at index Java Basics - Anfänger-Themen 31
J Methoden Doppelt verkettete Liste remove(Object) Java Basics - Anfänger-Themen 8
S Vererbung remove elment from Array Java Basics - Anfänger-Themen 0
J easy remove method Java Basics - Anfänger-Themen 1
K Methoden Probleme mit LinkedList.remove(object) Java Basics - Anfänger-Themen 1
U PriorityQueue remove Java Basics - Anfänger-Themen 2
M ArrayList - remove() löscht nicht! - weiß nicht wieso! Java Basics - Anfänger-Themen 8
B map.remove(long) Java Basics - Anfänger-Themen 5
Q queue.remove Element trotzdem noch vorhanden. Java Basics - Anfänger-Themen 10
B LinkedList remove Java Basics - Anfänger-Themen 5
I Liste Remove erstes Element Java Basics - Anfänger-Themen 5
D Wie Iterator Remove implementieren? Java Basics - Anfänger-Themen 11
W Treemap remove Java Basics - Anfänger-Themen 5
H Remove Methode von List Java Basics - Anfänger-Themen 6
W ArrayLists: Verständnisproblem bei remove() Java Basics - Anfänger-Themen 2
C Datentypen ArrayList.remove(index) hinterlässt leeres Feld Java Basics - Anfänger-Themen 5
H TreeMap.remove(value) - und nicht mit key! Geht das? Java Basics - Anfänger-Themen 18
S OOP ArrayList Klasse nachbauen, prob mit remove Java Basics - Anfänger-Themen 5
U ArrayList.remove(i) funktioniert nicht Java Basics - Anfänger-Themen 9
J Remove from an AraayList Java Basics - Anfänger-Themen 8
J Iterator remove()? Java Basics - Anfänger-Themen 5
T ArrayList#remove Java Basics - Anfänger-Themen 8
M ArrayList remove Element? Java Basics - Anfänger-Themen 3
B HashMap remove Java Basics - Anfänger-Themen 2
J TreeSet methode Remove Java Basics - Anfänger-Themen 13
C Add / Remove Panel Java Basics - Anfänger-Themen 2
J remove Problem Java Basics - Anfänger-Themen 8
M remove()-Methode eines Iterators Java Basics - Anfänger-Themen 3
M Problem mit Iterator.remove() Java Basics - Anfänger-Themen 5
J Erste Schritte Alle möglichen ausgaben von 5 Zahlen als Vector Java Basics - Anfänger-Themen 7
C Werte im Vector in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 14
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
J Reihenfolge im Vector lässt sich nicht drehen Java Basics - Anfänger-Themen 9
M Klassen Gesamt speicherbare Elemente in Vector? Java Basics - Anfänger-Themen 3
P Vector durchsuchen und Elemente löschen Java Basics - Anfänger-Themen 4
Z Vector in jTextField/jLabel darstellen Java Basics - Anfänger-Themen 4
P Objekte in Vector werden überschrieben Java Basics - Anfänger-Themen 4
P Array in Vector speichern Java Basics - Anfänger-Themen 2
E Methoden new Vector().add(x).add(x); ? Java Basics - Anfänger-Themen 5
F Vector istGeordnet Java Basics - Anfänger-Themen 15
R Vector-Filterfunktion Java Basics - Anfänger-Themen 4
Todesbote Map (Key=String; Value = Vector) Value/Vector sortieren Java Basics - Anfänger-Themen 13
J Vector Manipulieren.. Wie? Java Basics - Anfänger-Themen 16
M Vector eines Vectors einzeln ausgeben Java Basics - Anfänger-Themen 9
K String kommt schon in Vector vor? Java Basics - Anfänger-Themen 36
J Erzeugung eines Vector-Objekts - Frage zum Typ Java Basics - Anfänger-Themen 3
H Zugriff auf Vector Element Java Basics - Anfänger-Themen 2
C Vector erzeugt neue Indizes nach Input Java Basics - Anfänger-Themen 2
A Author in Vector Java Basics - Anfänger-Themen 22
M Vector überschreibt Elemente bei add()-Methode Java Basics - Anfänger-Themen 10
T Elemente im Vector werden einfach überschrieben! Java Basics - Anfänger-Themen 3
K Collections Vector zu String casten Java Basics - Anfänger-Themen 4
U Wozu dient ein Vector in Java? Java Basics - Anfänger-Themen 6
S Vector mit beliebigen Klassen an Funktion übergeben Java Basics - Anfänger-Themen 20
B Globale vector? Java Basics - Anfänger-Themen 7
E 2 Dimensionaler Vector Java Basics - Anfänger-Themen 5
T Map<String, Vector>? Java Basics - Anfänger-Themen 11
P Collections Vector füllen in for-Schleife Java Basics - Anfänger-Themen 3
J Vector Addition Java Basics - Anfänger-Themen 5
M 2D Vector Java Basics - Anfänger-Themen 2
N IndexOutOfBoundsException: Source does not fit in dest beim Kopieren von ArrayList in Vector Java Basics - Anfänger-Themen 4
M Umwandlung von Array in Vector und umgekehrt Java Basics - Anfänger-Themen 6
E Datentypen Klasse Vector aus der Standard-API anwenden Java Basics - Anfänger-Themen 7
D Klasse Vector entwerfen Java Basics - Anfänger-Themen 7
A Arrays vs Liste vs Vector Java Basics - Anfänger-Themen 30
H in for Schleife über Vector iterieren Java Basics - Anfänger-Themen 2
S Datentypen Vector auslesen Java Basics - Anfänger-Themen 12
yampi Objektsammlung - Hashtable, Vector, Arrays Java Basics - Anfänger-Themen 8
T Vector-Positin anzeigen Java Basics - Anfänger-Themen 3
C Vector - obsolete collection Java Basics - Anfänger-Themen 1
C Vector<Object> Probleme Java Basics - Anfänger-Themen 38
C Datentypen Probleme mit Vector.contains() Java Basics - Anfänger-Themen 10
M Datentypen function(Vector<SuperClass>), Vector<Subclass> Java Basics - Anfänger-Themen 6
L Vector Sortieren Java Basics - Anfänger-Themen 8
B Vector in Table ersetzen Java Basics - Anfänger-Themen 4
B Werte einer Spalte aus DB in einen Vector schreiben Java Basics - Anfänger-Themen 15
kitz Telefonbuch (Vector) Java Basics - Anfänger-Themen 17
E Arraylist mit Daten aus Vector füllen Java Basics - Anfänger-Themen 7
S Vector -> String JComboBox Java Basics - Anfänger-Themen 11
F Vector wird überschrieben Java Basics - Anfänger-Themen 8
T Vector sortiern Java Basics - Anfänger-Themen 7
C Frage zu Vector und muliplizieren des Inhaltes Java Basics - Anfänger-Themen 2
S Vector von eigenen Klassen Java Basics - Anfänger-Themen 2
J Collection Vector Java Basics - Anfänger-Themen 8
Streeber ArrayList/Vector, mehrdimensional Java Basics - Anfänger-Themen 11
N Was ist der Unterschied zwischen ArrayList und Vector? Java Basics - Anfänger-Themen 3
babel Einen Vector/Liste mit Daten prüfen Java Basics - Anfänger-Themen 31
B Hilfe zum einem Problem mit Vector Java Basics - Anfänger-Themen 8
H Vector - Fehler? Java Basics - Anfänger-Themen 2
babel einen Vector nach Datum sortieren Java Basics - Anfänger-Themen 21
T Array-Vector Problem Java Basics - Anfänger-Themen 18
P Vector und Exception Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben