Kunden-DB mit Vector

Status
Nicht offen für weitere Antworten.
Hallo,

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 !
 

mic_checker

Top Contributor
Zu Suchfunktion per KNR:
Warum holst du nicht einfach die Elemente einzeln aus dem Vector (get(..)), castet halt in deinen Kunden und überprüfst die entsprechenden Kundennummern...?
 
Ähh also wenn ich dich richtig verstehe, dann is das doch genau meine Frage oder nicht??

Ich möchte, dass ich die einzelnen Vektorelemente nach und nach durchlaufe.
Und bei jedem Element soll er eben die kunde.getKnr() mit der suchknr vergleichen.
Aber die getKnr ist bei mir immer diejenige des letzten Elements. Eigentlich denke ich, es müsste gehen, weil ich mit this z.B. gearbeitet habe. Oder woran liegt des? Ist glaub echt ne Kleinigkeit.

Könnte das komplette auch mal schicken Wer hilft?
 

mic_checker

Top Contributor
Du gehst in ner for Schleife deinen Vector durch.

In der Schleife holst du das aktuelle Element:
Code:
Kunde kd = (Kunde)deinVector.get(i); //i Zählvariable;

dann kannst du die sachen aufrufen auf Kunde:

Code:
kd.deineMethode();

Falls du nur Kunden in den Vector reinsteckst u. nicht noch anderes....
 
hmm get... könnt ich mal testen. das kannte ich gar net beim vektor.
ich dachte das muss auch so gehen, indem ich mir das zeug über getKnr() hol, aber er holte sich da lediglich die letzte Instanz, warum?

edit: hmm geht nicht.

kann ichs evlt mal jmd schicken?
 

mic_checker

Top Contributor
arbeite eigentlich nicht mehr mit Vector, sondern mit ArrayList, sollte aber auch so gehen. Was genau klappt denn nicht?

was willst du schicken?
 
funktioniert nicht, wie es soll... hier zählt bisher nur der Vergleich getKnr()==suchknr, der gehen soll.
Da schaff ich es net, dass er sich nach und nach jeden Kunden aus dem Vektor holt und sich dann über die get Methode dessen KNR holt. mit dem i+1 könnt ich zwar bescheissen, aber spätestens nachher beim namensuchen gibts probs. kann ich da was mit this machen, warum gibts ne cast exception immer?
Manches hier unten ist überflüssig und nur drin, weil ich rumgetestest hab. Danke!


public class Kunde {

public String kunde;
public String name;
public static int kundennummer;

public Kunde() {
}

public Kunde(String name,int kundennummer) {
this.kundennummer=kundennummer;
this.name=name;
}

public void setKnr(int kundennummer){
this.kundennummer=kundennummer;
}

public static int getKnr() {
return kundennummer;
}

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

public String getName(){
return name;
}

public String ausgebenKunde() {
kunde=this.getName()+"\t "+this.getKnr();
return this.kunde; //kunde
}

}



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<5 && ein>0); //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; //AB HIER FUNKT ES NET :(((
for(Iterator iter = v.iterator(); iter.hasNext(); ){

Kunde kunde = (Kunde)v.get(i);
// Kunde kunde = (Kunde) iter.next();
// kunde = new Kunde();
if (kunde.getKnr() == suchknr) {
// Gefunden!
System.out.println("Gefunden!");
break;
}
i++;


// Kunde k1=new Kunde();
// System.out.println(k1.getKnr());
//
// if(suchknr == 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); //k1.ausgebenKunde()
}

//Ausgabeprozedur
public void ausgabe() {
for(int i=0;i<v.size();i++) {
System.out.println(v.elementAt(i));
}
}

}




public class Kundenverwaltung {

public Kundenverwaltung() {
}

public static void main(String[] args) {

KundenContainer einKundenContainer=new KundenContainer();

einKundenContainer.auswahl(); //die auswahl im Container steuert das ganze Programm
}

}
 

mic_checker

Top Contributor
Lass dir ausserdem auch mal die einzelnen Kundennummern ausgeben von den aktuellen Vektor-Elementen (also nach dem Cast auf Kunde) - um zu gucken ob da schon was nicht stimmt...
 
das static war ne leiche und wurde 2x behoben, danke!

ich komm nach wie vor net auf die richtigen instanzen. :(

Knr und Name der Kunden-Elemente ausm Vector sind immer p@31232 oder null bzw. 0 bei der Knr :(
Irgendwas passt net.

Desweiteren weiß ich auch nicht, wie ich die normale ausgabe nun machen soll??

Also, dass das ausgebenKunde() mir die richtigen Namen ausgibt, wie??
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Probleme und Zeitdruck: Kunden-DB (Vector) Allgemeine Java-Themen 13
Tarrew OpenAPI Schnittstelle - Mehrere Kunden mit unterschiedlichen Zugriffsrechten Allgemeine Java-Themen 2
P Installation beim Kunden Allgemeine Java-Themen 7
A Source-Management bei Kunden-Anpassungen Allgemeine Java-Themen 5
A Vector Strings in Array splitten Allgemeine Java-Themen 6
G Fehler mit Vector Allgemeine Java-Themen 3
M String Array Vector komprimieren und verschicken Allgemeine Java-Themen 3
P Vectorelemente in einen anderen Vector kopieren Allgemeine Java-Themen 12
U Vector aus Oberklasse spezialisieren Allgemeine Java-Themen 2
R Vector in JList Allgemeine Java-Themen 11
M Cast double[]-->Object[] oder Vector<double[]> Allgemeine Java-Themen 3
R Threads korrekte Synchronisation bei Vector und ArrayList Allgemeine Java-Themen 6
H Index Out of Bounds bei Vector Allgemeine Java-Themen 4
H Java Vector Frage Allgemeine Java-Themen 9
E NetBeans Vector durch ArrayList ersetzen Allgemeine Java-Themen 4
C Vector/Point-Problem Allgemeine Java-Themen 3
M Buffer-Vector einzeln und zusammen synchronisieren Allgemeine Java-Themen 4
B Suchalgorithmus der Klasse Vector Allgemeine Java-Themen 5
X Vector Allgemeine Java-Themen 3
S 2D Vector speziell ausgeben. Allgemeine Java-Themen 2
S Vector in Vector gespeichert, wie greift man darauf zu? Allgemeine Java-Themen 3
C Swing JTable Vector aus DB adden Allgemeine Java-Themen 3
R Vector.clear() oder neu initialisieren Allgemeine Java-Themen 3
S vector & strings Allgemeine Java-Themen 26
X Vector in Intervall-Menge umwandeln Allgemeine Java-Themen 4
D Array oder Vector in Enum Deklarieren Allgemeine Java-Themen 3
J Erweiterte For-Schleife mit Vector Allgemeine Java-Themen 5
G JComponent in Vector - wie klonen? Allgemeine Java-Themen 7
V Performancefrage int-Vector/Stack Allgemeine Java-Themen 10
N HashMap<String,Vector<String>> a = new HashMap<String,Vector<String>>(); Allgemeine Java-Themen 4
H GUI: RectangleDrawer - zu viele Elemente im Vector für die paint-Methode Allgemeine Java-Themen 6
S JList in Vector Allgemeine Java-Themen 3
I Vector mit Objekten sortieren,Videos mit JMF wiedergeben Allgemeine Java-Themen 6
MQue Vector<..> nicht verwenden Allgemeine Java-Themen 4
H Vector<Character> zu char[] castern Allgemeine Java-Themen 2
T Element aus Vector entfernen Allgemeine Java-Themen 4
Spot84 Vector nach Ressourcetyp sortieren Allgemeine Java-Themen 4
M get Funktion von Vector Allgemeine Java-Themen 4
N wie greife ich auf hashmap in vector zu Allgemeine Java-Themen 9
V NullPointerException bei Vector Allgemeine Java-Themen 2
E einfache Frage zu Vector Allgemeine Java-Themen 8
K Serialisierung von Hashmap in Vector Allgemeine Java-Themen 3
G Vector beim Initialisieren befüllen Allgemeine Java-Themen 4
G Vector addAll Allgemeine Java-Themen 5
B sorteiren von Datein nach Zeitstempel in einem Vector Allgemeine Java-Themen 5
W [solved] Vector sortieren (Collection / Comparable?) Allgemeine Java-Themen 7
MQue Vector Allgemeine Java-Themen 7
F Vector in eine Datenbank speichern? Allgemeine Java-Themen 3
P Vector auf JTree Allgemeine Java-Themen 6
P dynamisches Array / Vector Allgemeine Java-Themen 2
P JTable/Vector Allgemeine Java-Themen 5
T Vector und remove? Allgemeine Java-Themen 13
T Vector in JAVA ? Allgemeine Java-Themen 10
P Vector in vielen Klassen Allgemeine Java-Themen 21
MQue Vector implementieren Allgemeine Java-Themen 2
MQue Vector<State> Allgemeine Java-Themen 2
O hilfe bei Vector frage Allgemeine Java-Themen 6
F Synchronisation + Vector/ArrayList/LinkedList Allgemeine Java-Themen 7
Z Elemente in Vector nach Häufigkeit sortieren. Allgemeine Java-Themen 13
H java.util.Vector langsam ? Allgemeine Java-Themen 5
H Vector<T>[] vecs = new Vector<T>[10]; geht nicht Allgemeine Java-Themen 2
N Java API java.util.vector Allgemeine Java-Themen 3
G Vector erweitern Allgemeine Java-Themen 4
S Vector sortieren nach Objekt-Info? Allgemeine Java-Themen 9
A Probleme mit Vector Allgemeine Java-Themen 6
M Vergleich im geordeten Vector und Methodenaufruf Allgemeine Java-Themen 2
J Vector - Wert ersetzen Allgemeine Java-Themen 14
J Vector - Boolean Allgemeine Java-Themen 24
M Vector zu einem byte[] Allgemeine Java-Themen 5
J Vector<Shape> Speichern [gelöst] Allgemeine Java-Themen 11
Y Array mit ID in Vector Allgemeine Java-Themen 6
T Vector <-> double Allgemeine Java-Themen 4
T ArrayList bzw. Vector per set-Methode? Allgemeine Java-Themen 3
T ArrayList oder Vector als Parameter? Allgemeine Java-Themen 7
M Vector add() unchecked? Allgemeine Java-Themen 5
T Vector Array Allgemeine Java-Themen 5
J Vector sortieren Allgemeine Java-Themen 3
M Vector - contain Allgemeine Java-Themen 13
C String und char[] / String[] und Vector Allgemeine Java-Themen 21
N Vector -> 2Diminsonaler Array Allgemeine Java-Themen 10
N Alledateien in einem Ordner in ein Vector speichern Allgemeine Java-Themen 19
K Object nach Vector konvertieren Allgemeine Java-Themen 3
Z ResultSet in Array oder Vector schreiben! Allgemeine Java-Themen 2
C vector von vector sortieren Allgemeine Java-Themen 4
D Vector in String Allgemeine Java-Themen 5
J Von Collection zu vector Allgemeine Java-Themen 5
D Vector in Datei schreiben Allgemeine Java-Themen 18
I Vector serialisieren: StackOverflow Allgemeine Java-Themen 13
H Vector in ein File-Array umwandeln Allgemeine Java-Themen 2
J User Klasse in den Vector, Object Klasse wieder raus... Allgemeine Java-Themen 4
K vector, synchronized und mehrere methoden Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben