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.

Geschrieben

DANKE!!

das mit der schleiffe kommt später.

ich will das erst testten bei max. 2 Autos.

hat sonst noch einer einen tip?

thx

gicio

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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.

Weiterlesen  

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...