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:
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));
}
}