Kontoverwaltung

Status
Nicht offen für weitere Antworten.

Don_Carlo

Mitglied
Hallo ihr :)
Hab ein Problem in Java..
Hab eine Kontenliste erstellt... Das Bearbeiten der Konten funktioniert.
Jetzt ist meine Frage, wie ich die Methode KontoLöschen definieren kann.
Wie kann ich aus einer Liste einen Knoten mit dem entsprechend verknüpften Konto löschen?. Meine Idee war einfach das gleiche Prinzip wie bei KontoBearbeiten. Nur das diesmal nicht das Konto wie bei der Methode bearbeiten aufgerufen wird, sondern gelöscht wird. Wäre super nett, wenn mir jemand dabei helfen könnte! :)

LG
Carlo

Code:
public class KontenListe
{
	private int anzahl = 0;
	private Knoten ersterKnoten = null;
	private Kunde inhaber;


	public KontenListe (Kunde inhaber)
	{
		this.inhaber = inhaber;
	}

	public int getAnzahl()
	{
		return this.anzahl;
	}


	public void setInhaber (Kunde inhaber)
	{
		this.inhaber = inhaber;
	}

	public Kunde getInhaber ()
	{
		return this.inhaber;
	}

	public void kontoHinzufuegen (Konto konto)
	{
		Knoten neuerKnoten = new Knoten (konto);
		if (this.anzahl == 0)
		{
			this.ersterKnoten = neuerKnoten;
			this.anzahl ++;
		}
		else
		{
			Knoten aktuellerKnoten = this.ersterKnoten;
			while (aktuellerKnoten.getNaechsterKnoten() != null)
			{
				aktuellerKnoten = aktuellerKnoten.getNaechsterKnoten ();
			}
			aktuellerKnoten.setNaechsterKnoten (neuerKnoten);
			this.anzahl ++;
		}
	}



	public Konto kontoHolen(String ktoNummer)
	{
		Knoten temp = this.ersterKnoten;
		while (temp != null)
		{
			Konto ktemp = temp.getKonto();
			String strtemp = ktemp.getKontonummer();
			if (strtemp.equals (ktoNummer))
			{
				return ktemp;
			}
			temp = temp.getNaechsterKnoten ();


		}
		return null;
	}


	public void kontoLoeschen (String ktoNummer)
	{
	
	}


}
 

Atze

Top Contributor
was ist das? und was soll das überhaupt? :D ist das eine hausaufgabe, oder warum speicherst du konten in einer verketteten liste?

und wo ist kontoBearbeiten überhaupt? :D

du müsstest doch beim löschen nur das übergeordnete konto mit dem nächsten verknüpfen, nachdem du den aktuellen entfernt hast
 

Don_Carlo

Mitglied
Hallo ihr :)
Hab ein Problem in Java..
Hab eine Kontenliste erstellt... Das "Holen" der Konten funktioniert.
Jetzt ist meine Frage, wie ich die Methode KontoLöschen definieren kann.
Wie kann ich aus einer Liste einen Knoten mit dem entsprechend verknüpften Konto löschen?. Meine Idee war einfach das gleiche Prinzip wie bei KontoHolen. Nur das diesmal nicht das Konto wie bei der Methode bearbeiten aufgerufen wird, sondern gelöscht wird. Wäre super nett, wenn mir jemand dabei helfen könnte! :)

Es ist eine Bankverwaltung. Es gibt eine Klasse Kunde, eine Klasse Adresse, eine Klasse Konto usw.


LG
Carlo

Code:
public class KontenListe
{
	private int anzahl = 0;
	private Knoten ersterKnoten = null;
	private Kunde inhaber;


	public KontenListe (Kunde inhaber)
	{
		this.inhaber = inhaber;
	}

	public int getAnzahl()
	{
		return this.anzahl;
	}


	public void setInhaber (Kunde inhaber)
	{
		this.inhaber = inhaber;
	}

	public Kunde getInhaber ()
	{
		return this.inhaber;
	}

	public void kontoHinzufuegen (Konto konto)      //Fügt einen neuen Knoten
                                                                       // in die Liste "Kontenliste.
                                                                       //An diesem Knoten wird ein Konto
                                                                       //verknüpft.

	{
		Knoten neuerKnoten = new Knoten (konto);
		if (this.anzahl == 0)
		{
			this.ersterKnoten = neuerKnoten;
			this.anzahl ++;
		}
		else
		{
			Knoten aktuellerKnoten = this.ersterKnoten;
			while (aktuellerKnoten.getNaechsterKnoten() != null)
			{
				aktuellerKnoten = aktuellerKnoten.getNaechsterKnoten ();
			}
			aktuellerKnoten.setNaechsterKnoten (neuerKnoten);
			this.anzahl ++;
		}
	}



	public Konto kontoHolen(String ktoNummer)
	{
		Knoten temp = this.ersterKnoten;
		while (temp != null)
		{
			Konto ktemp = temp.getKonto();
			String strtemp = ktemp.getKontonummer();
			if (strtemp.equals (ktoNummer))
			{
				return ktemp;
			}
			temp = temp.getNaechsterKnoten ();


		}
		return null;
	}


	public void kontoLoeschen (String ktoNummer)
	{
	
	}


}


Die Main:
Code:
public class Main
{
	public static void main (String args[])
	{
		Konsole kons = new Konsole();
		Adresse a = new Adresse("In der Hehl","56410","Montabaur");
		Kunde k = new Kunde ("Fischer","Carlo",a);
		Konto b = new Konto("47742342",300,k);
		Konto c = new Konto("1483414",300,k);
		KontenListe liste = new KontenListe (k);
		liste.kontoHinzufuegen(b);
		liste.kontoHinzufuegen(c);

		System.out.println(liste.getAnzahl());
		System.out.println(liste.kontoHolen("1483414"));



	}
}

Klasse Adresse:
Code:
public class Adresse
{
	private String strasse;
	private String plz;
	private String ort;

	public Adresse (String strasse, String plz, String ort)
	{
		this.strasse = strasse;
		this.plz = plz;
		this.ort = ort;
	}

	public void setStrasse (String strasse)
	{
		this.strasse = strasse;
	}
	public String getStrasse()
	{
		return this.strasse;
	}

	public void setPlz (String plz)
	{
		this.plz = plz;
	}
	public String getPlz()
	{
		return this.plz;
	}

	public void setOrt (String ort)
	{
		this.ort = ort;
	}
	public String getOrt()
	{
		return this.ort;
	}
	public String toString()
	{
		String text = "Strasse:"+this.strasse+"\n";
		text = text+  "PLZ:"+this.plz+"\n";
		text = text+  "Ort:"+this.ort+"\n";
		return text;
	}

}

Klasse Knoten:


Code:
public class Knoten
{
	private Knoten naechsterKnoten = null;
	private Konto konto;

	public Knoten (Konto konto)
	{
		this.konto = konto;
	}

	public Knoten getNaechsterKnoten ()
	{
		return this.naechsterKnoten;
	}

	public void setNaechsterKnoten (Knoten naechsterKnoten)
	{
		this.naechsterKnoten = naechsterKnoten;
	}

	public Konto getKonto()
	{
		return this.konto;
	}

	public void setKonto (Konto konto)
	{
		this.konto = konto;
	}

	public boolean istLetzterKnoten ()
	{
		if (this.naechsterKnoten == null)
		return true;
		else
		return false;
	}
}

Klasse Konto:

Code:
public class Konto
{
	private String kontonummer;
	private double stand;
	private Kunde inhaber;


	public Konto (String kontonummer, double stand, Kunde inhaber)
	{
		this.kontonummer = kontonummer;
		this.stand = stand;
		this.inhaber = inhaber;

	}


	public String getKontonummer()
	{
		return this.kontonummer;
	}


	public void setStand (double stand)
	{
		this.stand = stand;
	}
	public double getStand()
	{
		return this.stand;
	}
	public void setInhaber(Kunde inhaber)
	{
		this.inhaber = inhaber;
	}
	public Kunde getInhaber ()
	{
		return this.inhaber;
	}

	public void einzahlen (double betrag)
	{
		this.stand = this.stand+betrag;


	}
	public boolean abheben (double betrag)
	{
		if ((this.stand - betrag ) >= 0)
		{
			this.stand = this.stand-betrag;
			return true;

		}
		else
		{
		  	return false;
		}
	}
	public String toString()
	{
		String text = "Konto:\n";
		text = text+ "___________________________________________________________________\n";
		text = text+  "Inhaber :"+this.inhaber+"\n";
		text = text+  "Kontonummer :"+this.kontonummer+"\n";
		text = text+  "Kontostand :"+this.stand+"\n";
		return text;
	}

}

Klasse Kunde:

Code:
public class Kunde
{
	private String name;
	private String vorname;
	private Adresse adresse;

	public Kunde (String name, String vorname, Adresse adresse)
	{
		this.name = name;
		this.vorname = vorname;
		this.adresse = adresse;
	}


	public void setName (String name)
	{
		this.name = name;
	}
	public String getName()
	{
		return this.name;
	}

	public void setVorname (String vorname)
	{
		this.vorname = vorname;
	}
	public String getVorname()
	{
		return this.vorname;
	}

	public void setAdresse (Adresse adresse)
	{
		this.adresse = adresse;
	}
	public Adresse getAdresse()
	{
		return this.adresse;
	}

	public String toString()
	{
		String text = "Name:"+this.name+"\n";
		text = text+  "Vorname:"+this.vorname+"\n";
		text = text+  "Adresse:"+this.adresse.toString()+"\n";
		return text;
	}

}
 

Don_Carlo

Mitglied
Die Methode KontoHolen überprüft ja die übergebene Kontonummer mit den vorhandenen gespeicherten Konten.. wenn diese übereinstimmt, dann wird einfach das Konto ausgegeben.
Meine Idee, ich mache das gleiche wie bei KontoHolen.. das heißt ich übergebe wieder eine Kontonummer... Die gesamte verkettete Liste wird von vorne bis hinten durchsucht.. Wenn jetzt diese Kontonummer mit einem Konto übereinstimmt, sollte dieses Konto jetzt nicht ausgegeben werden wie bei KontoHolen, sondern gelöscht werden.. Nur wie mache ich das.
Wäre voll nett, wenn mir einer helfen könnte :)

LG
Carlo
 

Atze

Top Contributor
Java:
// beim durchlaufen der liste:

if(getNaechsterKnoten().getKonto().getKontonummer().equals(zuloeschendeKontonummer)){
 setNaechsterKnoten(getNaechsterKnoten().getNaechsterKnoten());
}

so ähnlich jedenfalls :)
 

diggaa1984

Top Contributor
musst du das zwingend als liste realisieren? Wenn du davon ausgehen darfst, das jedes Konto ne andere Nummer hat und diese nicht doppelt vergeben werden, bzw kannst das ja selbst prüfen, .. dann empfiehlt sich doch soetwas wie ne HashMap oder dergleichen. Damit brauchst nix suchen, adden und removen erledigt sich von selbst und so weiter und so fort
 

Atze

Top Contributor
ich denke, dass er ne aufgabe bekommen hat, ansonsten wäre der ansatz ja total daneben! :) denke mal, er soll selbst ne verkettete liste erstellen
 

ARadauer

Top Contributor
beim löschen, musst du einfach den den wert für den nächsten beim vorgingen auf den übernächsten setzen...

A -> B -> C

willst du jetzt B löschen,
muss A einfach auf C zeigen...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben