Hallo,
Erstmal das Wesentliche. In der Main dazu steht noch der Aufruf eigtl auf die auswahl() drinne und in der Kunde.class stehen halt Name und KNR als Eigenschaften für die Kunden.
Erklärung: Man soll einen Kunden eingeben können mit KNR, die automatisch generiert werden soll und soll mit diesen Eigenschaften mehrere Kundenobjekte anlegen mit Hilfe eines Vektors.
Läuft alles problemlos.
Suchfunktion per KNR: Wie es oben steht, geht es zwar, jedoch wär es wohl geschickter, wenn ich statt i irgendwie direkt an die Kundennummer der einzelnen Vekotrenelemente komme. Schaff das aber einfach nicht. Wie geht das?? Ich pfusch das ja ein wenig hin mit dem i.
Hier ist es zwar noch nich so das Prob, jedoch soll da noch ne weitere Suche aufsetzen: nach Namen. Und spätestens da sollte ich die Namen seperat aus dem Vektor Objektname für Objektname auslesen können.
Nur leider krieg ich immer nur den Namen der letzten Instanz. Wie kann ich dem sagen, dass der einfach direkt Name bzw. KNR jedes Vektorelements ansprechen soll!?
==> Es folgen evlt noch weitere Fragen, da ich bei der Suche auch noch an nem Detail häng und auf das ganze noch ne AWT bzw. Swing-GUI aufsetzen soll. Hab nur noch bis nächste Woche Freitag Zeit, daher wär es kewl, wenn ihr mich bißl stützen könnt und mir nen kleinen Tipp gebt.
Unsern Prof kannste diesbezüglich vergessen!
Roar: Codetags !
Code:
public class KundenContainer {
protected Vector v=new Vector(5,2);
int i;
protected int kundennummer;
public KundenContainer() {
}
//wählt zwischen den einzelnen Menüoptionen
public void auswahl() {
KundenContainer einKundenContainer=new KundenContainer();
System.out.println("Kundenverwaltung");
System.out.println("Was wollen sie tun?");
int ein;
//Auswahl-Maske, die solange wiederkommt, bis einer Abbruch wählt
do {
ein=IOTools.readInteger("(1) Kunde anlegen, (2) Kunde nach Knr suchen, (3) Kunde nach Name suchen (4) bisheriger Kundentamm, () Abbruch\n");
switch(ein){
case 1: einKundenContainer.eingabe(); //Eingabe-Maske
break;
case 2: einKundenContainer.sucheKunde(); // Suche nach der KNR
break;
// case 3: einKundenContainer.sucheKunde(); //Suche nach Name
// break;
case 4: einKundenContainer.ausgabe(); //bisheriger Kundenstamm
break;
default:
System.out.println("Programmende erwünscht! "); //alles andere: Abbruch
break;
}
}while(ein==1 || ein==2 || ein==3 || ein==4);
}
public void sucheKunde(){
int suchknr=IOTools.readInteger("Welche Kundennummer wollen sie suchen? ");
//fängt Kundennummern ab, die nicht existieren
if(suchknr>v.size() || suchknr<1) {
System.out.println("Kundennummer nicht vorhanden!");
}
i=0;
for( Enumeration e = v.elements(); e.hasMoreElements(); e.nextElement()){
//einKunde=(Kunde)e.nextElement();
Kunde k1=new Kunde();
// einKunde = (Kunde)k1.ausgebenKunde();
System.out.println(k1.getKnr());
if(suchknr == i+1){ //i+1
System.out.println(v.elementAt(suchknr-1)); //oder i
}
i++;
}
}
//Eingabemaske
public void eingabe() {
String name=IOTools.readString("Wie heißt der Kunde? ");
kundennummer=v.size()+1;
Kunde k1=new Kunde(name,kundennummer);
v.add(k1.ausgebenKunde());
}
//Ausgabeprozedur
public void ausgabe() { //selbsterklärend und irrelevant
for(int i=0;i<v.size();i++) {
System.out.println(v.elementAt(i));
}
}
}
Erstmal das Wesentliche. In der Main dazu steht noch der Aufruf eigtl auf die auswahl() drinne und in der Kunde.class stehen halt Name und KNR als Eigenschaften für die Kunden.
Erklärung: Man soll einen Kunden eingeben können mit KNR, die automatisch generiert werden soll und soll mit diesen Eigenschaften mehrere Kundenobjekte anlegen mit Hilfe eines Vektors.
Läuft alles problemlos.
Suchfunktion per KNR: Wie es oben steht, geht es zwar, jedoch wär es wohl geschickter, wenn ich statt i irgendwie direkt an die Kundennummer der einzelnen Vekotrenelemente komme. Schaff das aber einfach nicht. Wie geht das?? Ich pfusch das ja ein wenig hin mit dem i.
Hier ist es zwar noch nich so das Prob, jedoch soll da noch ne weitere Suche aufsetzen: nach Namen. Und spätestens da sollte ich die Namen seperat aus dem Vektor Objektname für Objektname auslesen können.
Nur leider krieg ich immer nur den Namen der letzten Instanz. Wie kann ich dem sagen, dass der einfach direkt Name bzw. KNR jedes Vektorelements ansprechen soll!?
==> Es folgen evlt noch weitere Fragen, da ich bei der Suche auch noch an nem Detail häng und auf das ganze noch ne AWT bzw. Swing-GUI aufsetzen soll. Hab nur noch bis nächste Woche Freitag Zeit, daher wär es kewl, wenn ihr mich bißl stützen könnt und mir nen kleinen Tipp gebt.
Unsern Prof kannste diesbezüglich vergessen!
Roar: Codetags !