Hey Leute ich versteh irgendwie Arraylist nicht.
Ich habe mehrere Klasse nach MVC-Pattern.
Der User kann dann Privatkunde und Firmenkunde einlesen und anlegen. Diese Klasse erben von Kunden. Ich hab zb ein Menuepunkt Kunden unsortiert anzeigen und wollte jetzt gerne Wissen wie ich das mache und Wo ich das machen. Weil bei vielen Codes die Arrayliste in der Main ist und ich will meine Main klein halten.
Ich zeig euch lieber Code^^
Sorry das ich soviel Code gepostet habe, aber ich denke wenn man den Code sieht wird es hoffentlich verständlicher.
Die Model-Klasse Bank hat unendlich Kunden.
Die Model-Klasse Kunde hat auch eine Arraylist mit 10 Konten
Die Controller-Klasse Menue liest Werte ein und legt sie an
Die View-Klasse Starter dient als Ausgabe:
Ich habe mehrere Klasse nach MVC-Pattern.
Der User kann dann Privatkunde und Firmenkunde einlesen und anlegen. Diese Klasse erben von Kunden. Ich hab zb ein Menuepunkt Kunden unsortiert anzeigen und wollte jetzt gerne Wissen wie ich das mache und Wo ich das machen. Weil bei vielen Codes die Arrayliste in der Main ist und ich will meine Main klein halten.
Ich zeig euch lieber Code^^
Sorry das ich soviel Code gepostet habe, aber ich denke wenn man den Code sieht wird es hoffentlich verständlicher.
Die Model-Klasse Bank hat unendlich Kunden.
Java:
public class Bank {
private ArrayList<Kunde> kundeList;
public Bank() {
super();
kundeList = new ArrayList<Kunde>();
public ArrayList<Kunde> getKundeList() {
return kundeList;
}
/**
* @param kundeList the kundeList to set
*/
public void setKundeList(ArrayList<Kunde> kundeList) {
this.kundeList = kundeList;
kundeList.add(new Kunde);
}
/**
* Die Ausgabe von Bank
*/
@Override
public String toString() {
return "Bank [Name= " + name+ ", BIC= " + bic + ", Adresse= "
+ adresse + ", Kunden= " + kundeList + " ]";
}
}// end of class
Die Model-Klasse Kunde hat auch eine Arraylist mit 10 Konten
Java:
abstract public class Kunde {// start of class
/**
* Deklaration von Attribute
*/
protected int kundenNummer;
private Adresse adresse;
private ArrayList<Konto> kontoListe = new ArrayList<Konto>(10);
/**
* Konstruktor mit super()
*/
public Kunde(int kundenNummer, Adresse adresse) {
super();
this.kundenNummer = kundenNummer;
this.adresse = adresse;
}
/**
* @return the kundenNummer
*/
public int getKundenNummer() {
return kundenNummer;
}
/**
* @param kundenNummer the kundenNummer to set
*/
public void setKundenNummer(int kundenNummer) {
this.kundenNummer = kundenNummer;
}
public String toString() {
return "Kunde [Kundennummer= " + kundenNummer+ ", Adresse= " + adresse + ", Kontenliste= "
+ kontoListe +"]";
}
}// end of class
Die Controller-Klasse Menue liest Werte ein und legt sie an
Java:
public class Menue {
private String auswahl;
public void auswahlMenue() {
do {
menuePunkte();
auswahl = MeineEingabe.erfasseAuswahl("Auswahl: ");
switch (auswahl) {
case "01":
liesPrivatkunde();
System.out.println("Privatkunde wurde angelegt!");
break;
case "02":
liesFirmenkunde();
System.out.println("Firmenkunde wurde angelegt!");
break;
case "03":
liesKontoUndKdnr();
System.out.println("Konto und Kundennummer wurde angelegt!");
break;
case "04":
KontoDarstellungsFunktion.kundeMitKontoAnzeigenDurchKdnr();
System.out.println("Kunde mit Konto durch Kundennummer wurde angezeigt!");
break;
case "05":
KontoDarstellungsFunktion.kundeMitKontoAnzeigenDurchName();
System.out.println("Kunde mit Konto durch Name wurde angezeigt!");
break;
case "06":
KontoDarstellungsFunktion.kontoAnzeigenDurchIBAN();
System.out.println("Kunde durch IBAN wurde angezeigt!");
break;
case "07":
KontoDarstellungsFunktion.kundenUnsortiertAnzeigen();
System.out.println("Kunde wurde unsortiert angezeigt!");
break;
case "08":
KontoDarstellungsFunktion.kundenSortiertAnzeigenNachAufsteigenderKdnr();
System.out.println("Kunde wurde sortiert nach aufsteigender Kundennummer angezeigt!");
break;
case "09":
KontoDarstellungsFunktion.alleKontenUnsortiertAnzeigen();
System.out.println("Alle Konten wurden unsortiert angezeigt!");
break;
case "10":
System.out.println("Das Programm wurde Beendet!!");
break;
}
} while (!auswahl.equals("10"));
}// end of Method "auswahlMenue()"
public void liesPrivatkunde() {
String vname = MeineEingabe.erfasseVorname("Vorname: ");
String nname = MeineEingabe.erfasseNachname("Nachname: ");
String telnummer = MeineEingabe.erfasseString("Telefonnummer: ");
String eMail = MeineEingabe.erfasseEmail("E-Mail: ");
String gebdat = MeineEingabe.erfasseDatum("Geburtsdatum: ");
int kndnr = MeineEingabe.erfasseInt("Kundennummer: ");
Adresse adr = liesAdresse();
legePrivatkundeAn(vname, nname, telnummer, eMail, gebdat, kndnr, adr );
}
/**
* @param vname
* @param nname
* @param telnummer
* @param eMail
* @param gebdat
* @param kndnr
*/
public Privatkunde legePrivatkundeAn(String vname, String nname, String telnummer, String eMail, String gebdat,
int kndnr, Adresse adr) {
Privatkunde privKunde = new Privatkunde(vname, nname, telnummer, eMail, gebdat, adr, kndnr);
privKunde.setVorname(vname);
privKunde.setNachname(nname);
privKunde.setTelefonNummer(telnummer);
privKunde.setMail(eMail);
privKunde.setGeburtsDatum(gebdat);
privKunde.setKundenNummer(kndnr);
privKunde.setAdresse(adr);
return privKunde;
}
public void liesFirmenkunde() {
String firmName = MeineEingabe.erfasseString("Firmennamen: ");
String telefonNummer = MeineEingabe.erfasseString("Telefonnummer: ");
String email = MeineEingabe.erfasseString("E-Mail: ");
Ansprechpartner partner = liesAnsprechpartner();
int kndnr = MeineEingabe.erfasseInt("Kundennummer: ");
Adresse adr = liesAdresse();
legeFirmenkundeAn(firmName, telefonNummer, email, partner, adr, kndnr);
}
/**
* @param firmName
* @param telefonNummer
* @param eMail
* @param kndnr
*/
public Firmenkunde legeFirmenkundeAn(String firmName, String telefonNummer, String eMail,Ansprechpartner partner, Adresse adr, int kndnr) {
Firmenkunde firmKunde = new Firmenkunde(firmName, telefonNummer, eMail,partner, adr, kndnr);
firmKunde.setFirmenName(firmName);
firmKunde.setTelefonNummer(telefonNummer);
firmKunde.setMail(eMail);
firmKunde.setPartner(partner);
firmKunde.setAdr(adr);
firmKunde.setKundenNummer(kndnr);
return firmKunde;
}
public Ansprechpartner liesAnsprechpartner() {
String vname = MeineEingabe.erfasseString("Vorname: ");
String nname = MeineEingabe.erfasseString("Nachname: ");
return legeAnsprechpartnerAn(vname, nname);
}
/**
* @param vname
* @param nname
*/
public Ansprechpartner legeAnsprechpartnerAn(String vname, String nname) {
Ansprechpartner partner = new Ansprechpartner();
partner.setVorname(vname);
partner.setNachname(nname);
return partner;
}
public void liesKontoUndKdnr() {
String iBAN = MeineEingabe.erfasseString("IBAN: ");
double kontoStand = MeineEingabe.erfasseDouble("Kontostand: ");
int kndnr = MeineEingabe.erfasseInt("Kundennummer: ");
Konto konto = new Konto(iBAN, kontoStand, kndnr);
}
public Adresse liesAdresse() {
String adresszeile1 = MeineEingabe.erfasseString("Adresszeile 1: ");
String adresszeile2 = MeineEingabe.erfasseString("Adresszeile 2: ");
String plz = MeineEingabe.erfassePostleitzahl("PLZ: ");
String ort = MeineEingabe.erfasseString("Ort: ");
return legeAdresseAn(adresszeile1, adresszeile2, plz, ort);
}
/**
* @param adresszeile1
* @param adresszeile2
* @param plz
* @param ort
* @return
*/
public Adresse legeAdresseAn(String adresszeile1, String adresszeile2, String plz, String ort) {
Adresse adr = new Adresse(adresszeile1, adresszeile2, plz, ort);
adr.setAdresszeile1(adresszeile1);
adr.setAdresszeile2(adresszeile2);
adr.setPostleitZahl(plz);
adr.setOrt(ort);
return adr;
}
public void menuePunkte() {
System.out.println("(01) Privatkunde anlegen");
System.out.println("(02) Firmenkunde anlegen");
System.out.println("(03) Konto anlegen und Kundennummer zuordnen");
System.out.println("(04) Kunde mit Konten anzeigen (Auswahl durch Kundennummer)");
System.out.println("(05) Kunde mit Konten anzeigen (Auswahl durch Name)");
System.out.println("(06) Konto anzeigen (Auswahl durch IBAN)");
System.out.println("(07) Alle Kunden unsortiert anzeigen");
System.out.println("(08) Alle Kunden sortiert nach aufsteigender Kundenummer anzeigen");
System.out.println("(09) Alle Konten unsortiert anzeigen");
System.out.println("(10) Beenden");
}
Die View-Klasse Starter dient als Ausgabe:
Java:
public class Starter {
public static void main(String[] args) throws Exception {
Menue menu = new Menue();
menu.auswahlMenue();
}
}