Zum Inhalt springen

Problem mit einer Klasse als Vector in einen andren Klasse


Empfohlene Beiträge

Geschrieben

Hi!

ich hab ein Problem, ich habe ein Klasse Car diese Klasse befindet sich als Vector in der

Klasse Kaufvertrag. In einer 3 Klasse bestücke ich den Vector kaufvertragVector der die bestatndsteile der Klasse

Kaufvertrag beinhaltet .

Jetzt bin ich mir nicht sicher ob ich den Vector kaufvertragVector ( der den Vector car ( inhalt der Klasse Car) beinhaltet)

richtig fülle und dann auch anzeige.

ich habs mal versucht und es wird mir immer nur 1 Auto angezeigt wenn ich den Vector kaufvertragVector anzeige, obwohl

ich 2 Autos eingebe.

Könnt ihr mir dabei vielleicht weiterhefen?

Der 1 Code zeigt den code den ich zum füllen des Vectors kaufvertragVector benutze.

Der 2 Code zeigt wie ich den Inhalt des Vectors kaufvertragVector auf den screen wiedergee.

In einen von den 2 Codes ist min. 1 fehler bloss ich komm nicht drauf was ich falsch machen könnte.

MfG

gicio


        try

        {

            boolean repeat1 = true;

            while(repeat1) 

            {

                try

                {

                    System.out.print("Bitte geben Sie die ID des Auto ein.\n");

                    tastaturEingabe1 = eingabe.readLine();


                    for (e = autoVector.elements() ; e.hasMoreElements() ; )

                    {

                        car = (Car)e.nextElement();


                        if (tastaturEingabe1.equals("HM"))

                        {

                            display();

                        }

                        else if (tastaturEingabe1.length() == 0)					

                        {

                            throw new IOException();

                        }

                        else if (tastaturEingabe1.startsWith("-"))					

                        {

                            throw new IOException();

                        }

                        else if (new Integer(car.id()).toString().equals(tastaturEingabe1))

                        {

                            kaufver.addCar(car);

                            kaufver.setGesamtpreis(car.preis());


                            repeat1=false;

                        }

                    }

                }


                catch(IOException e)

                {

                    System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSie haben eine Falscheingabe gemacht!\n\n\n");

                }

            }         


            try

            {

                System.out.println("Moechten Sie ein 2 Auto Hinzufuegen?  (Ja = j, Nein = n):");

                tastaturEingabe1 = eingabe.readLine();

                tastaturEingabe1 = tastaturEingabe1.trim();


                if (tastaturEingabe1.equals("HM"))

                {

                    display();

                }

                else if (tastaturEingabe1.equals("j"))

                {

                    try

                    {

                        System.out.print("Bitte geben Sie die ID des 2 Auto ein.\n");

                        tastaturEingabe1 = eingabe.readLine();


                        for (e = autoVector.elements() ; e.hasMoreElements() ; )

                        {

                            Car car1 = new Car();

                            car1 = (Car)e.nextElement();


                            if (tastaturEingabe1.equals("HM"))

                            {

                                display();

                            }

                            else if (tastaturEingabe1.length() == 0)					

                            {

                                throw new IOException();

                            }

                            else if (tastaturEingabe1.startsWith("-"))					

                            {

                                throw new IOException();

                            }

                            else if (new Integer(car1.id()).toString().equals(tastaturEingabe1))

                            {


                                kaufver.addCar(car1) ;

                                //kaufver.setGesamtpreis(car.preis());

                            }

                        }

                    }

                    catch(IOException e)

                    {

                        System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSie haben eine Falscheingabe gemacht!\n\n\n");

                    }

                }

                else

                {

                    throw new Exception();

                }

            }

            catch(IOException e)

            {

                System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSie haben eine Falscheingabe gemacht!\n\n\n");

            }


        }

        catch(Exception e)

        {

            System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nENDE DER BESTELLUNG!!\n\n\n\n\n");

        }

Code 2:

    public void AnzeigeKaufvertraegen()

    {

        Kaufvertrag kaufver = new Kaufvertrag();


        try

        {

            BufferedReader eingabe = new BufferedReader(new InputStreamReader (System.in) );



            if(kaufvertragVector.isEmpty()) 

            {

                System.out.println("\n\n\t\t\tDIE KAUFVERTRAEGEDATENBANK IST LEER!!!");

                tastaturEingabe1 = eingabe.readLine();

                InhaltsAnzeige();

            }

        }

        catch (IOException es)

        {

            System.out.println("Sie haben eine Falscheingabe gemacht");

        }


        for (e = kaufvertragVector.elements() ; e.hasMoreElements() ; )

        {

            kaufver = (Kaufvertrag)e.nextElement();

            System.out.println("Name                            : " + kaufver.pers().name());

            System.out.println("Strasse                         : " + kaufver.pers().address().street() + " " + kaufver.pers().address().streetnr());

            System.out.println("Ort                             : " + kaufver.pers().address().plz() + " " + kaufver.pers().address().city());

            System.out.println("Telefonnummer                   : " + kaufver.pers().tel());

            System.out.println("Alter                           : " + kaufver.pers().age());


            for ( e = kaufver.autos().elements(); e.hasMoreElements() ;   )

            {

                Car a = new Car();

                a = (Car)e.nextElement();


                System.out.println("Auto - Hersteler              : " + a.hersteler() );

                System.out.println("Auto - Model                  : " + a.model());

                System.out.println("Auto - Hubraum                : " + a.hubraum());

                System.out.println("Auto - Farbe                  : " + a.farbe());

                System.out.println("Auto - Ps - Zahl              : " + a.ps());

                System.out.println("Auto - Preis                  : " + a.preis() + " DM");

                System.out.println("Auto - Auto ID                : " + a.id());

            }

        }




Ps.: bin für jede hilfe dankbar!!! thx!!!


:WD

Geschrieben

hier ist noch die Klasse Kaufvertrag:


// Datei Kaufvertrag.java


import java.util.*;

import java.text.*;



public class Kaufvertrag

{

    private Vector autos;

    private Person pers;

    private int id;

    private int gesamtpreis;

    private Calendar datum;


    public Kaufvertrag()     

    {

        super();

        autos       = new Vector();

    }


    public Kaufvertrag(Person p_pers, int p_id, int p_gesamtpreis, Calendar p_datum)

    {

        super();

        pers        = p_pers;

        id          = p_id;

        gesamtpreis = p_gesamtpreis;

        datum       = p_datum;

        autos       = new Vector();

    }

    // getter und setter


    public void addCar(Car c)

    {

        autos.addElement(c);

    }


    public void removeCar(Car c)

    {

        autos.remove(c);

    }


    public Vector autos()

    {

        return autos;

    }


    public void setPers(Person p_pers)

    {

        pers = p_pers;

    }


    public Person pers()

    {

        return pers;

    }


    public void setId(int p_id)

    {

        id = p_id;

    }


    public int id()

    {

        return id;

    }


    public void setGesamtpreis(int p_gesamtpreis)

    {

        gesamtpreis = p_gesamtpreis;

    }


    public int gesamtpreis()

    {

        return gesamtpreis;

    }


    public void setDatum(Calendar p_datum)

    {

        datum = p_datum;

    }


    public Calendar datum()

    {

	return datum;

    }


}

Geschrieben

Sei mir nicht böse, aber das ist mir alles ein wenig zu unübersichtlich. Was machst du denn, wenn du irgendwann mal 3 Autos in einem Kaufvertrag haben willst?

Diese Eingabe könntest du vielleicht noch in eine Schleife packen, statt den kompletten Teil nochmal zu kopieren.

Ansonsten habe ich so auf den ersten Blick (bzw. man braucht schon zwei, um da durchzublicken) keinen offensichtlichen Logikfehler gefunden.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...