Autovermietung als Klassen

Status
Nicht offen für weitere Antworten.

Spin

Top Contributor
Hallo, ich habe die Aufgaben bekommen, die ich als Anhang hochlade. Dazu habe ich eine kleine Frage und möchte nachher den code hochladen den ich geschrieben habe.

s11.directupload.net/file/d/1677/u6opxeyj_jpg.htm
2 Seite



Kann mir mal jemand bitte erklären, was die Aufgabe 5 beschreibt. Also Objektarray von 10 Elementen.

Aber nur 5 Objekte?

?

Seite 2 ist die Aufgabenstellung 5, danke
 

Templon

Bekanntes Mitglied
Ich denke, dass ist so gemeint:

Code:
Erweitertes[] autos = new ErweitertesAuto[10]; // Länge 10
// und jetzt 5 Autos instanzieren
 

Spin

Top Contributor
Ja soweit war ich schon, aber danke ;)

Aber warum ein Array von 10, wenn ich nur 5 Objekte instanzieren soll?


also das würde ja dann so gehen :

auto[0] = new Autoverwaltung()
.
.
.


Und in die Klammer meine Eingaben , die sich dann auf den Konstzruktor beziehen.

Und wie kann man von einer Klasse mehrer Klassen zuweisen.

public class x extends y extends z {}?
 

hdi

Top Contributor
Multiple Vererbung geht in Java nicht. Lösen tut man das über Interfaces:

Code:
class extends Vater1 implements Vater2
Interfaces kann man nämlich theoretisch unendlich viele implementieren.

Aber warum ein Array von 10, wenn ich nur 5 Objekte instanzieren soll?
Weil du zur Laufzeit vllt noch weitere 5 machen willst? (Bzw. der User) Is ja egal, besser zu viel Platz als zu wenig.

Und nur damit das klar ist: Bevor du sowas wie

Code:
auto[0] = new Autoverwaltung()

machen kannst, musst du erstmal dein Array instantiieren. Du kannst ja nicht an Stelle 0 von NICHTS etwas
einfügen. Klar oder?
 
G

Guest

Gast
Hallo, ich arbeite jetzt schon länger an meinen Programm und komme nicht weiter. Ich bitte euch mir ein paar Tipps zu geben, wie ich nun weiter machen könnte. Ich verlange keine Quelltexte, denn das ist meine aufgabe.


Bedanke mich schon mal.


Code:
public class Autoverwaltung extends Bagger{

  BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
  static  int anzahlVermieteAutos;
  static  int gesamtFahrleistung;
  static  double durchschnittlicheFahrleistung;
  
 
  
  
  
  
  
  
  // erzeugen der 5 Objekte von Erweitrtes Auto

   String  name,vorname,auto,fahrziel;
  int alter;
  
 public String getname()
{
    return name;// Methode um den Wert der Instanzvariable zurückzugeben
}

public void setname(String name) throws IOException
{
    this.name=name;  // Methode zum Verändern der Instanzvariable
}

public int  getalter()
{
    return alter;// Methode um den Wert der Instanzvariable zurückzugeben
}

public void setalter(int alter) throws IOException
{
    this.alter=alter;  // Methode zum Verändern der Instanzvariable
}

public String getauto()
{
    return auto;// Methode um den Wert der Instanzvariable zurückzugeben
}

public void setauto(String auto) throws IOException
{
    this.auto=auto;  // Methode zum Verändern der Instanzvariable
}

public String getfahrziel()
{
    return fahrziel;// Methode um den Wert der Instanzvariable zurückzugeben
}

public void setfahrziel(String fahrziel) throws IOException
{
    this.fahrziel=auto;  // Methode zum Verändern der Instanzvariable
}
  
  public Autoverwaltung()
  {}
  public Autoverwaltung(String fahrer, String autotyp, String farbe,
                           int erstzulassung, int leistung, int kmstand,
                           String standort, int fahrgestellnummer, String ausruestung)
  {
      super(fahrer,autotyp,farbe,erstzulassung,leistung,kmstand, standort, fahrgestellnummer,ausruestung);
  }


public void Fahrezugentscheidung() throws IOException
{
   System.out.println("Sie haben sich dazu entschieden ein Fahrzeug auszuleihen");
   System.out.println("Wählen Sie nun zwischen [1]Auto oder [2]Bagger");
   int zahl = Integer.parseInt(eingabe.readLine());
   switch(zahl)
   {
       case 1: System.out.println("Welches dieser Autos möchten Sie sich ausleihen?");
       // info methode von autos
       break;
       
       case 2: System.out.println(" Ihnen stehen ein Bagger mit Bohrer oder ein Bagger mit" +
               "Schaufel zu Verfügung.");
       
       // info method vom bagger
       break;
   }
}



 public static void vermietung() throws IOException
    {
     System.out.println("Sie haben sich dazu entschieden ein Fahrzeug auszuleihen");
     //Daten vom Fahrer
     BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
     String name,vorname, Geburtsort, fahrziel;
     int alter;
      
     System.out.println("Füllen Sie nun folgendes Formular aus: "+
            "Name : " );
      name = eingabe.readLine();
      System.out.println(
            "Vorname : " );
      vorname = eingabe.readLine();
      System.out.println(
            "Gebortsort : " );
      Geburtsort = eingabe.readLine();
      System.out.println(
            "Alter : " );
      alter = Integer.parseInt(eingabe.readLine());


      System.out.println("Für welches Auto haben Sie sich entschieden?");
      
      
      // bei Auswahl eines Autos : Status vermietet!

      System.out.println("Geben Sie uns noch ihr gewünschtes Fahrzeil an");
      fahrziel = eingabe.readLine();
       
 }        
          
        
        
        
        
        
        
        
    

    public void dialog() throws IOException
    {
       System.out.println("Herzlich Willkommen zu Rent a Car");
       System.out.println("Wir möchte Sie gerne über unsere Angebote informieren." +
              "\n" + "Dazu drücken Sie bitte die [1]"
              );
      System.out.println("");
      System.out.println("Wenn Sie sich nun schon mit unseren Fahrezuegen auskennen " +
              "und wissen welches " +
              "Sie sich ausleihen möchten" +"\n" +",drücken Sie bitte die [2]");
      System.out.println("");
      System.out.println("Um unser Leihsystem zu beenden, drück Sie bitte die [3]");

      int zahl = Integer.parseInt(eingabe.readLine());
      switch(zahl)
        {
            case 1: Autoverwaltung info = new Autoverwaltung();
                    info.objektrun();
            
            break; 

            case 2 : Autoverwaltung.vermietung();
            break;
                    
            case 3: System.out.println("Sie haben sich dazu entschieden, das Programm zu beenden.");
                    System.exit(0);
            break;
        }
    }
        public void control()
        {
            System.out.println("Übersicht");
            
            System.out.println("Derzeit vermietete Fahrzeuge: ");
            
            System.out.println("Gesamtzahl aller Autos");

            System.out.println("Durchschnittliche Fahrleistung aller Autos");
          
        }

       
        void objektrun()
        {
         Autoverwaltung auto[] = new Autoverwaltung[10];
        auto[0] = new Autoverwaltung("Stephan", "Auto","rot",1980, 110,230000,"München",15499,"klima");
        auto[1] = new Autoverwaltung("Hans", "Auto","gelb",2001, 120,25900,"Rostock",15468,"klima");
        auto[2] = new Autoverwaltung("Matzi", "Auto","blau",2005, 89,5000,"Berlin",15426,"ABS");
        auto[3] = new Autoverwaltung("Peter", "Bagger","grün",1999, 55,100000,"Hamburg",33256,"Schaufel");
        auto[4] = new Autoverwaltung("Leni", "Auto","silber",2000, 205,50000,"Trier",15487,"klima");
        for(int i=0; i<10;i++)
        {
         System.out.println("Fahrer: " + auto[i].getFahrer() +
                      "\n"+ "Fahrzeugtyp: " + auto[i].getAutotyp() +
                      "\n"+ "Farbe des Autos: " + auto[i].getFarbe() +
                      "\n"+ "Erstzulassung: " + auto[i].getErstzulassung() +
                      "\n"+ "Leistung: " + auto[i].getleistung() + "ps" +
                      "\n"+ "Kilometerstand: " + auto[i].getKmStand()  + "km" +
                     "\n"+  "Standort " + auto[i].getstandort() +
                     "\n"+  "Fahrgestellnumer" + auto[i].getfahrgestellnummer() +
                     "\n"+  "Ausruestung" + auto[i].getname());
        
  
        }
        }
        
        
        public static void main(String[] args) throws IOException
        {
            

        /* Ablauf der gesamten Autovermietung*/
        
         Autoverwaltung a = new Autoverwaltung();
         
         a.dialog();  // Vermietungsvorgang

}

}






Ich habe ein Objekt array das 10 lang sein soll. Das habe ich gemacht und es soll mit 5 Werten gefüllt werden.

Durch die Initiallisierung durch den Konstruktor, hat mein einzelnes Objekt eine bestimmte länge.

Nun soll ich innerhlab der dialog methode eine while shleife einbauen, so dass sich das programm nicht beendet. In der Methode hat der benutzer die mgl, zwischen info() und Vermieten() zu wählen.

Die freien Autos sollen in info angezeit werden. Wenn man sich ein auto mieten möchte, dann sollen fahrzeugdaten und fahrerziel entgegengenommen werden und das auto welches gewählt wurde, hat den status: vermietet.

Die Methode contol() soll eine Übersicht der vermieteten und freien Autos darstellen sowie die gesamtzahl der autos, die gesamte fahrleistung und die durchschnittliche leistung pro auto.


Ich komme leider gerade echt nicht weiter .......

danke, gruß spin
 

ARadauer

Top Contributor
deine Autoverwaltung ist ein Bagger und macht dialog... ;-)

sorry aber ich weiß nicht ob du dir nicht lieber ein anderes Fachgebiet suchen sollst...
 

ARadauer

Top Contributor
war nicht böse gemeint, hab kopfweh drum könnte ich ein wenig unsympatisch rüber kommen ;-)
 
G

Guest

Gast
Würde ich gerne , aber ich wechsel den studiengang nicht wegen einen Fach.

Das wäre unsinnig, meine stärken leigen im design und das programmieren gehört nun einfach mal dazu.

Dazu einfach paar tipps, ich schreibe die klasse nochmal neu , denke ich , muss die bis zum 31 abgegeben haben, und erhoffe hier paar tipps.


Entweder bekomme ich hier paar Infos oder nicht . Ich versuche mich ja nebenbei selbst.
Ich habe bloß echt probleme damit . Weiß ich nicht warum. Irgendwie ist das proggen nicht so einfach wie ich anfangs dachte.
 
G

Gast

Gast
Ich habe echt kein Problem mit euren Kommentaren, doch bin ich auf etwas hilfe angewiesen.
 
G

Guest

Gast
Vielen dank, das du dir die zeit nimmst.

Code:
// Klasse Autoverwaltung
public class Autoverwaltung extends ErweitertesAuto{

/* Die Klasse Autoverwaltung besitzt die Klassenvariablen */
  static  int anzahlVermieteAutos; // dadurch anzahl der Autos jederzeit verfügbar
  static  int gesamtFahrleistung;
  static  double durchschnittlicheFahrleistung;
 
  /*Konstruktor der Autoverwaltung*/
  public Autoverwaltung()
  {}
  
  /*überladener Konstruktor*/
  public Autoverwaltung(String fahrer, String autotyp, String farbe,
                           int erstzulassung, int leistung, int kmstand,
                           String standort, int fahrgestellnummer)
  {
      // übernhemen der Konstruktorinitialisierung von Erweitertes Auto
      super(fahrer,autotyp,farbe,erstzulassung,leistung,kmstand,
              standort,fahrgestellnummer);
     
  }
   
   
   public static void main(String[] args) throws IOException
        {
       /*Deklarieren des Objektarrays*/
       /*Das Array soll mit Objekten aus Erweitertes Auto gefüllt werden
         Die Länge sei 10*/
        ErweitertesAuto auto[] = new ErweitertesAuto[10];
        /* */
        auto[0] = new Autoverwaltung("Stephan", "Auto","rot",1980, 110,230000,"München",15498);
        auto[1] = new Autoverwaltung("Hans", "Auto","gelb",2001, 120,25900,"Rostock",15468);
        auto[2] = new Autoverwaltung("Matzi", "Auto","blau",2005, 89,5000,"Berlin",15426);
        auto[3] = new Autoverwaltung("Peter", "Bagger","grün",1999, 55,100000,"Hamburg",33256);
        auto[4] = new Autoverwaltung("Leni", "Auto","silber",2000, 205,50000,"Trier",15487); 

         
    

}




Ich habe die Aufgabe falsch gelesen.

PS: Ganz oben sind die beiden links für die aufgaben blätter an dem wir hier knobeln.


Nun habe ich den Konstruktor von meinen Erweiterten Auto abgeleitet und ich kann ihn hier verwenden.
Ich habe nun ein Objektarray erstellt, mit festgelegten werten.

Das Objektarray soll eigentlich statisch sein. Jedoch kommt es dann nicht hin im der Initiallisierung.
Mhh, da weiß ich den ansatz nicht.



Dann versuche ich nochmal neu meinen statischen vermietungsvorgang.


Code:
public class ErweitertesAuto extends EinfachesAuto {

   /*Überprüfung Zugriff*/
   // Methoden in der Abgeleiteten Testklasse können durch Objekt aufgerufen werden (public)
   // Private deklarierte Variablen können hier nicht aufgerufen werden
   // Entwicklungsumgebung zeigt einen durch Objekt (Punktnotation) , alle verfügbare werte + Methoden
    
    
    
 
    
    
    
    
    
   private String standort;
   private long fahrgestellnummer;
    
    
    ErweitertesAuto()
    {}

    public ErweitertesAuto(String fahrer, String autotyp, String farbe,
                           int erstzulassung, int leistung, int kmstand,
                           String standort, int fahrgestellnummer)
    {
        // Aufruf des Konstruktors der Superklasse
        super(fahrer,autotyp,farbe,erstzulassung,leistung,kmstand);
        this.fahrgestellnummer=fahrgestellnummer;
        this.standort=standort;
    }

    //überschriebende Methode Info ( alle Attribute)
    public void info()
    {
        ErweitertesAuto a = new ErweitertesAuto();
        System.out.println("Fahrer: " +  a.getFahrer()+
                           "Autotyp: " + a.getAutotyp() +
                           "Farbe des Autos: " + a.getFarbe() +
                           "Erstzulassung: " + a.getErstzulassung() +
                           "Leistung: " + a.getleistung() +
                           "Kilometerstand: " + a.getKmStand() +
                           "Standort " + a.getstandort() +
                           "Fahrgestellnumer" + a.getfahrgestellnummer());
    }

    public int faehrtnach(String Ziel,int Entfernung)
    {ErweitertesAuto a = new ErweitertesAuto();

     System.out.println("Auto fährt von Lübeck nach"+ Ziel +":" +  Entfernung + "km");
      
      return  a.getKmStand();

    }
    
      
    
    public String getstandort()
{
    return standort;// Methode um den Wert der Instanzvariable zurückzugeben
}

public void setstandort(String standort)
{
    this.standort=standort;  // Methode zum Verändern der Instanzvariable
}
    
       public long getfahrgestellnummer()
{
    return fahrgestellnummer;// Methode um den Wert der Instanzvariable zurückzugeben
}

public void setfahrgestellnummer(long fgn)
{
    this.fahrgestellnummer=fgn;  // Methode zum Verändern der Instanzvariable
}
 

manuche

Bekanntes Mitglied
Mal ne Frage... Warum erbt die Autoverwaltung von ErweitertesAuto?
Die Autoverwaltung soll doch verwalten und nicht so sein wie ein Auto oder?

btw die Aufgabe 3 ist falsch gestellt: Es muss heissen, "erweitern sie die Klasse ErweitertesAuto um folgende Methoden:"
 
G

Guest

Gast
Stimmt, dann müsste ich quasi das Erweiterte Auto von der Autoverwaltung ableiten.

Aber dann sehe ich in meiner Aufgabenstellung nicht mehr richtig durch.

Code:
// Klasse Autoverwaltung
public class Autoverwaltung {

/* Die Klasse Autoverwaltung besitzt die Klassenvariablen */
  static  int anzahlVermieteAutos; // dadurch anzahl der Autos jederzeit verfügbar
  static  int gesamtFahrleistung;
  static  double durchschnittlicheFahrleistung;
 
  
   
   
   public static void main(String[] args) throws IOException
        {
       /*Deklarieren des Objektarrays*/
       /*Das Array soll mit Objekten aus Erweitertes Auto gefüllt werden
         Die Länge sei 10*/
        ErweitertesAuto auto[] = new ErweitertesAuto[10];
        /* */
        auto[0] = new ErweitertesAuto("Stephan", "Auto","rot",1980, 110,230000,"München",15498);
        auto[1] = new ErweitertesAuto("Hans", "Auto","gelb",2001, 120,25900,"Rostock",15468);
        auto[2] = new ErweitertesAuto("Matzi", "Auto","blau",2005, 89,5000,"Berlin",15426);
        auto[3] = new ErweitertesAuto("Peter", "Bagger","grün",1999, 55,100000,"Hamburg",33256);
        auto[4] = new ErweitertesAuto("Leni", "Auto","silber",2000, 205,50000,"Trier",15487); 

         
    

}

/*statische Methode vermietung soll in der Methode dialog() aufgerufen werden und
   in einer einfachen while Schleife einen Vermietungsvorgang abbilden*/
public static void vermietung()
{
boolean fertig = true;    
while(!fertig)
{
   System.out.println("Sie haben sich dazu entschieden ein Fahrezug bei uns zu mieten.");
   System.out.println("");
   System.out.println("Bitte wählen Sie aus, welches Fahrzeug es sein soll:");
   
   // Fahrzeuge vorstellen quasi das Array vom Objekt hier angeben
   // ausgewählte Fahrzeug muss dann Zustand vermietet bekommen
   
   System.out.println("Sie haben ............ausgewählt");
}   
    
}
    

  
/* Methode Dialog soll Methode vermietung aufrufen und dem Benutzer die mgl.
 geben zwischen vermieten und info auszuwählen*/
void dialog()
{ 
    System.out.println("Herzlich Willkommen zu Fahrzeugvermietung");
    System.out.println("Wählen Sie nun zwischen " 
            +"\n" +"[1]Informationen über Fahrzeuge" 
            +"\n" +"[2]Fahrzeug ausleihen" 
            +"\n" +"[3]Programm beenden");
}
    
}



Habe es nun so gemacht.

Versuche nun in der vermietungsmethode eine for schleife für die ausgabe des Objektarrys zu bauen.

Damit der Benutzer, vor auswahl eines Autos auch alle einsehen kann.
 

ARadauer

Top Contributor
das Erweiterte Auto von der Autoverwaltung ableiten.

nein

ist ein Erweitertes Auto eine Autoverwaltung? nein!

Nun habe ich den Konstruktor von meinen Erweiterten Auto abgeleitet und ich kann ihn hier verwenden.

ich glaube du leitest ab, damit du auf member zugreifen kannst. dabei verstehst du aber nicht, dass du durch ableiten einen typ erweiterst. eine katze ist ein Säugetier und ein Säugetier ist ein Tier. Aber eine Katze ist keine Zoohandlung und eine Zoohandlung ist schon gar keine Katze auch wenn die zoohandlugn katzen hat bzw auf katzen zugreifen will ;-)
 

manuche

Bekanntes Mitglied
Wie wär es, wenn die Autoverwaltung eine eigene Klasse ist ohne von einem Auto zu erben?
Du musst dir das Schlüsselwort "extends" wie ein "ist ein(e)" vorstellen...
Also ErweitertesAuto "ist eine" Autovermietung passt da nicht ganz...
Auch Autovermietung ist ein ErweitertesAuto wird nicht ganz hinhauen, oder? ;)
Allerdings ErweitertesAuto ist ein EinfachesAuto passt da schon eher... Du erweiterst quasi deine Basisklasse EinfachesAuto um ein paar Eigenschaften und Methoden und raus kommt ein ErweitertesAuto!

edit: Genial ARadauer :D hat mich herzlich amüsiert ^^
 

ARadauer

Top Contributor
Spin poste mal alle Klassen die du bis jetzt geschrieben hast, ich schau mir mal das ganze in Eclipse an...
 
G

Guest

Gast
Ok, ich denke dass ich es nun verstanden habe.

Meine Autoverwaltung hat die Aufgabe Autos / Fahrzeuge zu verwalten.

Wie ihr seht initialisier ich hier in der Autoverwaltung meine Erweiterten Autos.

Nach dem ich sie selbst beschrieben habe, möchte ich dem User die Möglichkeit geben eines von dennen zu wählen.
Derzeit überlege ich wie ich dem Benutzer eine Möglichkeit geben zwischen 1-5 zu geben nachdem er alle Fahrzeuge ausgegeben hat.


Also 1) Ausgabe der Fahrzeuge.

2) Wahl zwischen den Fahrzeugen

3) Bei Wahl von 1 - 5 .....also wenn er nun die 1 wählt ( muss das Auto den status vermietet bekommen.)

Dieser status , muss ich das in einer extra methode machen?


Soweit bin ich nun :

(ändere es immer...nach euren anweisungen / kommentaren.)

Code:
public class Autoverwaltung {

/* Die Klasse Autoverwaltung besitzt die Klassenvariablen */
  static  int anzahlVermieteAutos; // dadurch anzahl der Autos jederzeit verfügbar
  static  int gesamtFahrleistung;
  static  double durchschnittlicheFahrleistung;
 
  
   
   
   public static void main(String[] args) throws IOException
        {
       
}

/*statische Methode vermietung soll in der Methode dialog() aufgerufen werden und
   in einer einfachen while Schleife einen Vermietungsvorgang abbilden*/
public static void vermietung()
{
boolean fertig = true;    
while(!fertig)
{
   System.out.println("Sie haben sich dazu entschieden ein Fahrzeug bei uns zu mieten.");
   System.out.println("");
   System.out.println("Bitte wählen Sie aus, welches Fahrzeug es sein soll:");
   
   Autoverwaltung auswahlAuto = new Autoverwaltung();
  
   auswahlAuto.Objekttarray();
   
   // Ausgabe der Fahrzeuge:
   
   
   // Fahrzeuge vorstellen quasi das Array vom Objekt hier angeben
   // ausgewählte Fahrzeug muss dann Zustand vermietet bekommen
   
   System.out.println("Sie haben ............ausgewählt");
}   
    
}
    

  
/* Methode Dialog soll Methode vermietung aufrufen und dem Benutzer die mgl.
 geben zwischen vermieten und info auszuwählen*/
void dialog() throws IOException
{ 
    System.out.println("Herzlich Willkommen zu Fahrzeugvermietung");
    System.out.println("Wählen Sie nun zwischen " 
            +"\n" +"[1]Informationen über Fahrzeuge" 
            +"\n" +"[2]Fahrzeug ausleihen" 
            +"\n" +"[3]Programm beenden");
    
    // EinleseStream
    BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
    int zahl1 = Integer.parseInt(eingabe.readLine());
    
    // Auswahlschleife
    switch(zahl1)
    {
        case 1:     
        break;
        case 2:
        break;
        case 3:
        break;
        default: System.out.println("Fehler");
            
    }
            
}
    

public void Objekttarray()
{
    /*Deklarieren des Objektarrays*/
       /*Das Array soll mit Objekten aus Erweitertes Auto gefüllt werden
         Die Länge sei 10*/
        ErweitertesAuto auto[] = new ErweitertesAuto[10];
        /* */
        auto[0] = new ErweitertesAuto("Stephan", "Auto","rot",1980, 110,230000,"München",15498);
        auto[1] = new ErweitertesAuto("Hans", "Auto","gelb",2001, 120,25900,"Rostock",15468);
        auto[2] = new ErweitertesAuto("Matzi", "Auto","blau",2005, 89,5000,"Berlin",15426);
        auto[3] = new ErweitertesAuto("Peter", "Bagger","grün",1999, 55,100000,"Hamburg",33256);
        auto[4] = new ErweitertesAuto("Leni", "Auto","silber",2000, 205,50000,"Trier",15487); 

        for(int i=0; i<10;i++)
        {
         System.out.println("Fahrer: " + auto[i].getFahrer() +
                      "\n"+ "Fahrzeugtyp: " + auto[i].getAutotyp() +
                      "\n"+ "Farbe des Autos: " + auto[i].getFarbe() +
                      "\n"+ "Erstzulassung: " + auto[i].getErstzulassung() +
                      "\n"+ "Leistung: " + auto[i].getleistung() + "ps" +
                      "\n"+ "Kilometerstand: " + auto[i].getKmStand()  + "km" +
                     "\n"+  "Standort " + auto[i].getstandort() +
                     "\n"+  "Fahrgestellnumer" + auto[i].getfahrgestellnummer());
    
        }
}


}


Habe hier ne Methode für das Objekt array geschrieben. Weiß sonst nicht wie ich das Array anders ausgeben soll.
 
G

Guest

Gast
Boah ich wäre dir sehr sehr dankbar , wenn du mir da hilfst. Ich könnt echt heulen, denn es klappt nichts :(


1 Klasse :

Code:
public class EinfachesAuto {
    
    // Variablen der Klasse
     private String fahrer,autotyp,farbe;
     private int erstzulassung, leistung ,kmstand;
     protected int jahr=2008;
   
  /*Konstruktor sind Initialisierungsroutinen, die automatisch beim Erzeugen eines Objektes
   * ausgeführt werden*/

    // Standartkonstruktor
    public EinfachesAuto()
    {}
    
    //überladener Konstruktor von EinfachesAuto ( Super/Vaterklasse)
    // für Objekt Speicherplatz zu Verfügung gestellt und Objekt initiallisiert
    public EinfachesAuto(String fahrer, String autotyp, String farbe,
                        int erstzulassung, int leistung, int kmstand)
    {
        this.fahrer=fahrer;
        this.autotyp=autotyp;
        this.farbe=farbe;
        this.erstzulassung=erstzulassung;
        this.leistung=leistung;
        this.kmstand=kmstand;
        
        

        
    }
    
public void print()
{
    System.out.print("Herzlich Willkommen zu ihrer Autovemietung!");
    System.out.println("Das");

}
public void info()
{   EinfachesAuto a = new EinfachesAuto();
    System.out.println("Farbe des Autos: " + a.getFahrer()+ " Fahrer: " + a.getFarbe() );
}




/* set und get Methoden, um einen kontrollierten Zugriff auf die Objekte zu erlauben
 * Da die Variablen private sind brauchen wir set und get um auf diese zugreifen zu können
 *
 * Damit unsere Attribute nicht irgendein Wert annehmen brauchen wir ein Konstruktor
 * (wird beim Instanziieren einer Klasse aufgerufen)*/



public String getFahrer()
{
    return fahrer;// Methode um den Wert der Instanzvariable zurückzugeben
}

public void setFahrer(String fahrer)
{
    this.fahrer=fahrer;  // Methode zum Verändern der Instanzvariable
}
        
public int alter(int alter)
{
    return (jahr - erstzulassung);
}


public void setAutotyp(String autotyp){
this.autotyp = autotyp;
}

public String getAutotyp() {
return autotyp;
}

public void setFarbe(String farbe){
this.farbe = farbe;
}

public String getFarbe() {
return farbe;
}

public void setErstzulassung(int erstzulassung) {
    if (erstzulassung >= 1900 && erstzulassung < 2100) {
        this.erstzulassung = erstzulassung;
    }
}

public int getErstzulassung() {
return erstzulassung;
}

public void setleistung(int leistung){
this.leistung = leistung;
}

public int getleistung() {
return leistung;
} 




public void setKmStand(int kmstand){
this.kmstand = kmstand;
}

public int getKmStand() {
return kmstand;
} 




}



Ich denke dass ich das mit den get und set verstanden habe. Es hat sich zum Standart entwickelt Variablen private zu modifizieren.

Man kann also die Variablen in anderen Klassen nur mit Hilfe von set und get aufrufen und bearbeiten. Simit ist einen Klassensichherheit gegeben.




2.Klasse:

public class EinfachesAutoTest {

/**
* @param args the command line arguments
*/


public static void main(String[] args) {

/*Überprüfung Zugriff*/
// Zugriff auf privat deklarierte Variablen mgl.


EinfachesAuto a = new EinfachesAuto();
a.setFahrer("Stephan");
a.setAutotyp("VW");
a.setFarbe("Grau");
a.setErstzulassung(1990);
a.setKmStand(190000);
a.setleistung(19);


a.print();
System.out.println("Fahrer: " + a.getFahrer() +
"\n" + "Autotyp: " + a.getAutotyp() +
"\n" +"Farbe des Autos: " + a.getFarbe() +
"\n" +"Erstzulassung: " + a.getErstzulassung() +
"\n" +"Leistung: " + a.getleistung() +
"\n" +"Kilometerstand: " + a.getKmStand()
);

a.info();





// TODO code application logic here
}

}


In dieser Testklasse, Instanziiere ich eine EinfachesAuto Objekt. Weise dem Konstruktor in der Klasse EinfachesAuto werte zu. Diese Werden denn in einfaches Auto den set und get Methoden übergeben und ich kann sie nun hier in der main des EinfachenAutoTest prüfen.




Klasse: Erweitertes Auto:

public class ErweitertesAuto extends EinfachesAuto {

/*Überprüfung Zugriff*/
// Methoden in der Abgeleiteten Testklasse können durch Objekt aufgerufen werden (public)
// Private deklarierte Variablen können hier nicht aufgerufen werden
// Entwicklungsumgebung zeigt einen durch Objekt (Punktnotation) , alle verfügbare werte + Methoden









private String standort;
private long fahrgestellnummer;


ErweitertesAuto()
{}

public ErweitertesAuto(String fahrer, String autotyp, String farbe,
int erstzulassung, int leistung, int kmstand,
String standort, int fahrgestellnummer)
{
// Aufruf des Konstruktors der Superklasse
super(fahrer,autotyp,farbe,erstzulassung,leistung,kmstand);
this.fahrgestellnummer=fahrgestellnummer;
this.standort=standort;
}

//überschriebende Methode Info ( alle Attribute)
public void info()
{
ErweitertesAuto a = new ErweitertesAuto();
System.out.println("Fahrer: " + a.getFahrer()+
"Autotyp: " + a.getAutotyp() +
"Farbe des Autos: " + a.getFarbe() +
"Erstzulassung: " + a.getErstzulassung() +
"Leistung: " + a.getleistung() +
"Kilometerstand: " + a.getKmStand() +
"Standort " + a.getstandort() +
"Fahrgestellnumer" + a.getfahrgestellnummer());
}

public int faehrtnach(String Ziel,int Entfernung)
{ErweitertesAuto a = new ErweitertesAuto();

System.out.println("Auto fährt von Lübeck nach"+ Ziel +":" + Entfernung + "km");

return a.getKmStand();

}



public String getstandort()
{
return standort;// Methode um den Wert der Instanzvariable zurückzugeben
}

public void setstandort(String standort)
{
this.standort=standort; // Methode zum Verändern der Instanzvariable
}

public long getfahrgestellnummer()
{
return fahrgestellnummer;// Methode um den Wert der Instanzvariable zurückzugeben
}

public void setfahrgestellnummer(long fgn)
{
this.fahrgestellnummer=fgn; // Methode zum Verändern der Instanzvariable
}


In der Klasse erbe ich nun das Einfache Auto und erweitere den Konstruktor.
Schreibe noch paar Methoden.


Überschreibe ich hier eigentlich die Daten , des Einfachen Autos?
Wenn ich die Klasse ableite, dann übernehme ich doch Variablen und Metoden.

In der Subklasse kann ich doch nun mehr Variablen und Methoden hinzufügen. Kann ich auch die , der Vaterklasse überschreiben?

(ich bin da gerade ein wenig durcheinander.)


vielen dank an jeder der mir helfen kann!
gruß spin
 

manuche

Bekanntes Mitglied
Schau dir mal in Aufgabe 5 den zweiten Absatz an... Das Array kannst du dann auch in deiner main-Methode mit Werten belegen!

Anmerkung am Rande:
- Methoden und Variablen schreibt man IMMER klein!!!
- Schau dir in Zusammenhang mit dem Einlesen von der Konsole mal die Klasse Scanner an...

*edit: Du überschreibst sie nicht... Allerdings musst du darauf achten, dass du aus der ableitenden Klasse keine mit private deklarierten Methoden und Membervariablen der Basisklasse siehst... Wenn du die getter bzw setter für diese Membervariablen allerdings schon in der Basisklasse deklariert hast kannst du normal auf sie zu greifen!
Es kommt halt auf das Umfeld an, in welchem du dich befindest!
 

Spin

Top Contributor
Aber wenn ich diese in der main mache , wie kann ich denn mit meiner statischen vermietungsmethode darauf zu greifen?



Ja, ich arbiete dran variablen und Methodennamen klein zuschreiben.

Und Scanner kenne ich.

Scanner a = new Scanner(System.in)

a.nextInt ....usw.

Paket: util

Doch irgendwie haben wir uns das als Kurs angewöhnt BufferedReader zu nutzen. Ich weiß nicht warum und welches besser ist.
 

ARadauer

Top Contributor
Code:
package autoz;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Autoverwaltung { 

   /* Die Klasse Autoverwaltung besitzt die Klassenvariablen */ 
   static  int anzahlVermieteAutos; // dadurch anzahl der Autos jederzeit verfügbar 
   static  int gesamtFahrleistung; 
   static  double durchschnittlicheFahrleistung; 

   static ErweitertesAuto autos[] = new ErweitertesAuto[10]; 




   public static void main(String[] args) throws IOException {
      autos = new ErweitertesAuto[10]; 
      /* */ 
      autos[0] = new ErweitertesAuto("Stephan", "Auto","rot",1980, 110,230000,"München",15498); 
      autos[1] = new ErweitertesAuto("Hans", "Auto","gelb",2001, 120,25900,"Rostock",15468); 
      autos[2] = new ErweitertesAuto("Matzi", "Auto","blau",2005, 89,5000,"Berlin",15426); 
      autos[3] = new ErweitertesAuto("Peter", "Bagger","grün",1999, 55,100000,"Hamburg",33256); 
      autos[4] = new ErweitertesAuto("Leni", "Auto","silber",2000, 205,50000,"Trier",15487); 

      dialog();


   } 

   /*statische Methode vermietung soll in der Methode dialog() aufgerufen werden und 
      in einer einfachen while Schleife einen Vermietungsvorgang abbilden*/ 
   public static void vermietung() 
   { 
      boolean fertig = true;    
      while(!fertig) 
      { 
         System.out.println("Sie haben sich dazu entschieden ein Fahrzeug bei uns zu mieten."); 
         System.out.println(""); 
         System.out.println("Bitte wählen Sie aus, welches Fahrzeug es sein soll:"); 


         System.out.println("Sie haben ............ausgewählt"); 
      }    

   } 



   /* Methode Dialog soll Methode vermietung aufrufen und dem Benutzer die mgl. 
   geben zwischen vermieten und info auszuwählen*/ 
   static void  dialog() throws IOException 
   { 
      System.out.println("Herzlich Willkommen zu Fahrzeugvermietung"); 
      System.out.println("Wählen Sie nun zwischen " 
            +"\n" +"[1]Informationen über Fahrzeuge" 
            +"\n" +"[2]Fahrzeug ausleihen" 
            +"\n" +"[3]Programm beenden"); 

      // EinleseStream 
      while(true){
         BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in)); 
         int zahl1 = Integer.parseInt(eingabe.readLine()); 

         // Auswahlschleife 
         switch(zahl1) 
         { 
         case 1:    
            info();
            break; 
         case 2: 
            vermietung();
            break; 
         case 3: 
            System.exit(-1);
            break; 
         default: System.out.println("Fehler"); 
         } 
      }

   } 

   public static void info(){
      for(int i = 0; i < autos.length; i++){
         System.out.println("Auto: "+(i+1)+"\t");
         if(autos[i]!=null){            
            autos[i].info();
         }else{
            System.out.println("leer");
         }
      }
   }




}
so für den anfang.. ich finds schade, ihr habt da so super objektorientierte beispiele und dann seh ich in
EinfachesAuto sowas

Code:
public void info() 
{   EinfachesAuto a = new EinfachesAuto(); 
   System.out.println("Farbe des Autos: " + a.getFahrer()+ " Fahrer: " + a.getFarbe() ); 
}
hallo? ein bisschen mitdenken könnte man schon! Nicht nur das machen was andere sagen bringt wenig du musst schon überlegen, warum man das so macht.
 

Spin

Top Contributor
Code:
public void info()
{   
    System.out.println("Farbe des Autos: " + this.getFahrer()+ " Fahrer: " + this.getFarbe() );
}


Ah , das macht mehr sinn.

Das Objekt welches nun diese Methoden aufruft , übergibt seine werte an ihn.

Das Mitdenken fiel mir gerade etwas schwer.
Ich versuche nun weiter zu machen. Bedanke mich erstmal. Wird wohl nicht lange dauern, dann poste ich wieder . Oh man. Ich komme echt nicht klar mit dem zeitdruck!
 

Spin

Top Contributor
Nach ein paar stunden pause , habe ich mal versucht weiter zu machen.


Code:
public class Autoverwaltung {

   /* Die Klasse Autoverwaltung besitzt die Klassenvariablen */
   static  int anzahlVermieteAutos; // dadurch anzahl der Autos jederzeit verfügbar
   static  int gesamtFahrleistung;
   static  double durchschnittlicheFahrleistung;
   static int zahl2;
 

   static ErweitertesAuto autos[] = new ErweitertesAuto[10];




   public static void main(String[] args) throws IOException {
      autos = new ErweitertesAuto[10];
      /* */
      
      if(autos[]){
      autos[0] = new ErweitertesAuto(" ", "Auto ","rot",1980, 110,230000,"München",15498);
      autos[1] = new ErweitertesAuto("", "Auto","gelb",2001, 120,25900,"Rostock",15468);
      autos[2] = new ErweitertesAuto("", "Auto","blau",2005, 89,5000,"Berlin",15426);
      autos[3] = new ErweitertesAuto("", "Bagger","grün",1999, 55,100000,"Hamburg",33256);
      autos[4] = new ErweitertesAuto("", "Auto","silber",2000, 205,50000,"Trier",15487);
      }
      dialog();


   }

   /*statische Methode vermietung soll in der Methode dialog() aufgerufen werden und
      in einer einfachen while Schleife einen Vermietungsvorgang abbilden*/
   public static void vermietung() throws IOException
   {
      
      {  
          System.out.println("Sie haben sich dazu entschieden ein Fahrzeug bei uns zu mieten.");
          System.out.println("");
          System.out.println("Bitte wählen sie nun zwischen eins unserer Autos:");
          info();
          BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
          zahl2 = Integer.parseInt(eingabe.readLine());
         
          System.out.println("Bitte geben Sie Ihre Daten ein"
                 +"\n" + " Vorname: ");
         autos[zahl2-1].setFahrer(eingabe.readLine());

         System.out.println("Bitte geben Sie an wohin sie fahren möchten");
         autos[zahl2-1].setstandort(eingabe.readLine());

         
         
         switch (zahl2)
         {
             case 1: print();
                     autos[0].info();
                     autos[0].ausgeliehen = true;

             break;
                     

             case 2: print();
                     autos[1].info();
             break;
             case 3: print();
                     autos[2].info();
                     break;
             case 4: print();
                     autos[3].info();
                     break;
              case 5: print();
                     autos[4].info();
                     break;

             default:System.out.println("Fehler");
         }
                 
         
        
         

         System.out.println("Sie haben ............ausgewählt");
      }

   }



   /* Methode Dialog soll Methode vermietung aufrufen und dem Benutzer die mgl.
   geben zwischen vermieten und info auszuwählen*/

  static void print()
   {
       System.out.println("Sie haben sich für Auto:" +  zahl2  + " entschieden"
               + "mit den folgenden Fahrzeugdaten");   }


   static void  dialog() throws IOException
   {
     boolean fertig = false;
     while(!fertig){
      System.out.println("Herzlich Willkommen zu Fahrzeugvermietung");
      System.out.println("Wählen Sie nun zwischen "
            +"\n" +"[1]Informationen über Fahrzeuge"
            +"\n" +"[2]Fahrzeug ausleihen"
            +"\n" +"[3]Programm beenden");

      // EinleseStream
    
         BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
         int zahl1 = Integer.parseInt(eingabe.readLine());

         // Auswahlschleife
         switch(zahl1)
         {
         case 1:
            info();
            break;
         case 2:
            vermietung();
            break;
         case 3:
            System.exit(-1);
            break;
         default: System.out.println("Fehler");
         }
      }
   System.out.println("Bitte geben Sie [1] ein um zum Anfang des Programms zu kommen. ");
   
   }






   public static void info(){
      for(int i = 0; i < autos.length; i++){
         System.out.println("Auto: "+(i+1)+"\t");
         if(autos[i]!=null){
            autos[i].info();
         }else{
            System.out.println("leer");
         }
      }
   

   }




Ich weiß nun nicht, wie ich meinen Objektarray ein booleanstatus zuweisen soll.
Wenn der User das Auto 1 gewähl hat , darf beim nächsten mal das auto nicht mehr zu verfügung stehen.
bzw. es bekommt den status : vermietet.

Kann mir dazu noch jemand einen tipp geben?
 

manuche

Bekanntes Mitglied
Schau dir mal Zeile 7 sowie Zeile 10 und 16 an...

Zu Zeile 7)
Reicht es nicht die Variable zahl2 lokal in einer Methode zu deklarieren? In Java gilt das Prinzip just-in-time für Variablen!

Zu Zeile 10 und 16)
Du deklarierst in Zeile 10 deine Array vom Typ ErweitertesAuto und initialisiert es direkt. In Zeile 16 initialisierst du es wieder... Eins ist in diesem Fall überflüssig! Aus deinen Aufgaben kannst du auch herleiten welches! ;)
 

ARadauer

Top Contributor
Spin, Quizfrage:

Zeile10:
static ErweitertesAuto autos[] = new ErweitertesAuto[10];

Zeile16:
autos = new ErweitertesAuto[10];

doppelt gemoppelt, irgendwo kann man = null schreiben, wo? 10 oder 16?
 

Spin

Top Contributor
Guten Morgen. Nach meine Aufgaben stellung lässt sich das nicht statische Objekt wieder weglöschen.

Das wäre denn in Zeile 16.



Aso , denn versuche ich mal eine private variable dem Konstruktor hinzuzufügen!


Code:
public void ausgeliehen(boolean ausgeliehen)
{
    this.ausgeliehen=ausgeliehen;
}

public boolean getausgeliehen()
{
    return ausgeliehen;
}



Code:
 ErweitertesAuto()
    {}

    public ErweitertesAuto(String fahrer, String autotyp, String farbe,
                           int erstzulassung, int leistung, int kmstand,
                           String standort, long fahrgestellnummer, boolean ausgeliehen)
    {
        // Aufruf des Konstruktors der Superklasse
        super(fahrer,autotyp,farbe,erstzulassung,leistung,kmstand);
        this.fahrgestellnummer=fahrgestellnummer;
        this.standort=standort;
        this.ausgeliehen=ausgeliehen;
    }



Der Konstruktor ist doch dazu da, das Objekt zu initialisieren.
Dieser Konstruktor gehört nun der Klasse Erweitertes Auto.

Und jedes mal wenn ich ein Die Klasse Instanzziere , erstell ich ein neues Objekt in den ich werte den Variablen, im konstruktor hinzufügen kann.

Wenn ich als mein die Klasse noch irgendwoanders eine 2tes Objekt erstelle. Kann ich den mit neuen Werten füllen.









Code:
autos[0] = new ErweitertesAuto(" ", "Auto ","rot",1980, 110,230000,"München",15498, false);
      autos[1] = new ErweitertesAuto("", "Auto","gelb",2001, 120,25900,"Rostock",15468, false);
      autos[2] = new ErweitertesAuto("", "Auto","blau",2005, 89,5000,"Berlin",15426,false);
      autos[3] = new ErweitertesAuto("", "Bagger","grün",1999, 55,100000,"Hamburg",33256,false);
      autos[4] = new ErweitertesAuto("", "Auto","silber",2000, 205,50000,"Trier",15487,false);




Du meintest es dann bestimmt so. Habe ich hier die mgl. boolean einen namen zu geben, frei oder so?
Dieses false könnte ich ja nun über schreiben lassen in meiner switch schleife.


Aber nichts desto trotz , brauch ich doch eine if Bedingung welche mein Array durchsucht.
Wenn ich in meiner switch schleife , denn false wert auf true setzen lass und das programm geht danach weiter, muss ja das Auto mit true weg sein, bzw man darf es nicht mehr wählen.!

Wir lässt man denn ein Array durchsuchen?


Ich denke da an einer forschleife.

Da ich hier nur ein eindemensionales Array habe:

String gesucht = vermietet;
for(int i=0; i<position.length; i++) {
if(position.equals(vermietet)) {
System.out.println(" Das Auto kan nicht mehr gemietet werden");


Aber das funktioniert ja nicht , wenn ich in meiner Liste nur true oder false stehen habe. :(
 

manuche

Bekanntes Mitglied
Eine Instanz der Klasse ErtweitertesAuto beinhaltet ja ob sie vermietet ist oder nicht... du kannst einfach durch alle autos durch iterieren und abfragen:
Code:
for (int i = 0; i < autos.length; i++){
  if (autos[i].isVermietet()){
    System.out.println ("Auto ist bereits vermietet");
  }
}

Getter- und SetterMethoden für boolean Variablen heissen set- bzw is<VariablenName>....
 

Spin

Top Contributor
Code:
  autos[0] = new ErweitertesAuto(" ", "Auto ","rot",1980, 110,230000,"München",15498, false);
      autos[1] = new ErweitertesAuto("", "Auto","gelb",2001, 120,25900,"Rostock",15468, false);
      autos[2] = new ErweitertesAuto("", "Auto","blau",2005, 89,5000,"Berlin",15426,false);
      autos[3] = new ErweitertesAuto("", "Bagger","grün",1999, 55,100000,"Hamburg",33256,false);
      autos[4] = new ErweitertesAuto("", "Auto","silber",2000, 205,50000,"Trier",15487,false);
      for (int i = 0; i < autos.length; i++){
      if (autos[i].gvermietet()){
      System.out.println ("Auto ist bereits vermietet");
  }


Code:
 switch (zahl2)
         {
             case 1: print();
                     autos[0].info();
                     autos[0].isVermietet=(true);

Man kan das Programm nicht einfach das machen was ich möchte -.-*

Nach Auswahl setze ich den booleantyp auf true und danach soll der einfach nicht mehr gewählt werden dürfen.
Warum kann man boolean nicht mit equals vergleichen. Was hat das für ein grund.

Ich durchsuche das array und dann geht das .....ich gleube ich mache das gleich mit einen string !

String vermietet und string frei!

Wenn man denn in meiner switch schleife eins der autos anklickt , dann stelle ich automatisch mit ein , das sich der wert für den neuen string ändert. Vielleicht ist das ja klüger .

Boolean ist echt nicht mein ding. Java ict nicht mein ding, muss es aber machen , weil es zum studium dazu gehört. grml
Lieber 2 std designmethodologie als eine std. java
 

ARadauer

Top Contributor
Das wäre denn in Zeile 16.
tja dann ist dein array leider null!

Aso , denn versuche ich mal eine private variable dem Konstruktor hinzuzufügen!



Code:

1
2
3
4
5
6
7
8
9
10


public void ausgeliehen(boolean ausgeliehen)
{
this.ausgeliehen=ausgeliehen;
}

public boolean getausgeliehen()
{
return ausgeliehen;
}
du kennst nach 5 monaten java programmieren, den unterschied zwischen einer klasse und einem konstruktur nicht? oder willst du den wert einfach beim erstellen mitgeben, meinst du das? würd ich nicht machen. aber egal..

getausgeliehen ?? was ist das? lasst du dir nicht von eclipse die getter und setter erstellen?


Habe ich hier die mgl. boolean einen namen zu geben, frei oder so?
Dieses false könnte ich ja nun über schreiben lassen in meiner switch schleife.
du hast ihn gerade ausgeliehen gennant, oder willst du false umbennen? das geht nicht!!!

Aber das funktioniert ja nicht , wenn ich in meiner Liste nur true oder false stehen habe.
nein du hast nicht true oder fals drinnen, sondern deine autos ;-)

if(position.equals(vermietet))

java weiß nicht, wann ein auto gleich ist... das musst du sagen, indem du die equals methode überschreibst....

Warum kann man boolean nicht mit equals vergleichen. Was hat das für ein grund.
weil es ein primitiver datentyp ist! boolean brauchst du überhaupt nicht verlgeichen,
if(a.isGeliehen()==true) ist das selbe wie if(a.isGeliehen())
 

Spin

Top Contributor
Ich wollte anfangs den Wert gleich mitgeben im Konstruktor, aber die überlegung ist wohl falsch.

Also dass mit vermietet kann ich vergessen. Das pack ich nicht und habe wohl pech gahabt. Ich verstehe nicht warum es nicht funktioniert. Warum er es nicht vergleicht.



Wir haben lediglich 2 std in der woche java und dazu noch einen professor, der nicht erklären kann.
Aber mir bringt es eh nicht auf irgendwen zu schimpfen, da ich ja einfach selbst dadurch muss.
:autsch:
 

manuche

Bekanntes Mitglied
Jetzt bleib mal am Ball... So schlecht sah es doch garnicht aus was wir schon zusammen geschustert haben!
Wie du Kennzeichnen kannst, ob ein ErweitertesAuto vermietet ist haben wir dir ja grad gesagt, versehst du das oder kommst du damit nicht klar?
 

Spin

Top Contributor
Ich habe davon leider genau so wenig, wie ich ahnung von java habe.

Naja ich probiere mich 2 std, vor abgabe nochmal, wenn es dann nicht geht pech gehabt.
Auf hilfe bin ich angwiesen, jedoch bekomme ich hier wohl nur tipps, mit dennen ich leider nicht ganz so viel anfangen kann.

Es liegt ja nicht an euch sondern an mir. War wohl zu optimistisch hier einen anstaz zu bekommen, mit dem ich auf meinen Java stand was anfangen kann.
 

Spin

Top Contributor
Code:
package taschenrechner;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ProbeAuto {



   /* Die Klasse Autoverwaltung besitzt die Klassenvariablen */
   static  int anzahlVermieteAutos; // dadurch anzahl der Autos jederzeit verfügbar
   static  int gesamtFahrleistung;
   static  double durchschnittlicheFahrleistung;
   static int zahl2;
   static boolean vermietet =false;

   static ErweitertesAuto autos[] = new ErweitertesAuto[10];






   public static void main(String[] args) throws IOException {
      
      /* */
      
     
     
    
     
      
      autos[0] = new ErweitertesAuto(" ", "Auto ","rot",1980, 110,230000,"München",15498);
      



      autos[1] = new ErweitertesAuto("", "Auto","gelb",2001, 120,25900,"Rostock",15468);
      autos[2] = new ErweitertesAuto("", "Auto","blau",2005, 89,5000,"Berlin",15426);
      autos[3] = new ErweitertesAuto("", "Bagger","grün",1999, 55,100000,"Hamburg",33256);
      autos[4] = new ErweitertesAuto("", "Auto","silber",2000, 205,50000,"Trier",15487);
      

    
      dialog();
      }

   

   /*statische Methode vermietung soll in der Methode dialog() aufgerufen werden und
      in einer einfachen while Schleife einen Vermietungsvorgang abbilden*/
   public static void vermietung() throws IOException
   {
      
      {  
          System.out.println("Sie haben sich dazu entschieden ein Fahrzeug bei uns zu mieten.");
          System.out.println("");
           System.out.println("Bitte waehlen sie ein Auto : 0 , 1 , 2, 3 , 4 ");
          info();
          BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
          
          zahl2 = Integer.parseInt(eingabe.readLine());
          while(vermietet){
              System.out.println("Das Auto ist gerade vermietet -                         Bitte waehlen sie ein anderes Auto! ");
          }

          while(!vermietet){
          System.out.println("Bitte geben Sie Ihre Daten ein"
                 +"\n" + " Vorname: ");
         autos[zahl2-1].setFahrer(eingabe.readLine());  // aufnahme der Fahrer daten

         System.out.println("Bitte geben Sie an wohin sie fahren möchten");
         autos[zahl2-1].setstandort(eingabe.readLine()); // Aufnahme des Fahrtziels

         
         // 5 Autos von dennen 1 gewählt wurde
         switch (zahl2)
         {
             case 1: print(); // Methode für Benutzerdialog
                     autos[0].info(); // Ausgabe des Arrays in dem nun Fahrer und Standort geändert wurde
                     vermietet=true;

             break;
                     

             case 2: print();
                     autos[1].info();
             break;
             case 3: print();
                     autos[2].info();
                     break;
             case 4: print();
                     autos[3].info();
                     break;
              case 5: print();
                     autos[4].info();
                     break;

             default:System.out.println("Fehler");
                     for (int i=1; i<autos.length; i++){
			 if (vermietet=false){
			 autos[i].info();}
                     }// Ausgabe der freien      Autos mit ihren Daten
         }
                 
         
           }
         

      }
   }



   /* Methode Dialog soll Methode vermietung aufrufen und dem Benutzer die mgl.
   geben zwischen vermieten und info auszuwählen*/

  static void print()
   {
       System.out.println("Sie haben sich für Auto:" +  zahl2  + " entschieden"
               + "mit den folgenden Fahrzeugdaten");   }


   static void  dialog() throws IOException
   {
     boolean fertig = false;
     
      System.out.println("Herzlich Willkommen zu Fahrzeugvermietung");
      System.out.println("Wählen Sie nun zwischen "
            +"\n" +"[1]Informationen über Fahrzeuge"
            +"\n" +"[2]Fahrzeug ausleihen"
            +"\n" +"[3]Programm beenden");

      // EinleseStream
    
         BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
         int zahl1 = Integer.parseInt(eingabe.readLine());

         // Auswahlschleife
         switch(zahl1)
         {
         case 1:
            info();
              

            
            break;
         case 2:
            vermietung();
            break;
         case 3:
            System.exit(-1);
            fertig=true;
            break;
         default: System.out.println("Fehler");
         }
      
   System.out.println("Bitte geben Sie [1] ein um zum Anfang des Programms zu kommen. ");
   
   }
public  static int controll(){
		System.out.println("Gesamtübersicht der Autovermietung : \n");
		    for (int i=0; i<autos.length; i++)
		    {
		      if (i<autos.length)
		        if (vermietet= true)

		      {
		        return anzahlVermieteAutos = anzahlVermieteAutos++;
		        return gesamtFahrleistung = gesamtFahrleistung + autos[i].getleistung();
		        return durchschnittlicheFahrleistung=  gesamtFahrleistung  / anzahlVermieteAutos;
		        
		      }

		    }

		}
  // Ende Klasse Autoverwaltung





   public static void info(){
      for(int i = 0; i < autos.length; i++){
         System.out.println("Auto: "+(i+1)+"\t");
         if(autos[i]!=null){
            autos[i].info();
         }else{
            System.out.println("leer");
         }
      }
   

   }


Ich habe mich zusammengerissen und doch nochml weiter geamcht. Kann sich das bitte npchmal jemand anschauen und mir sagen , warum und wie ich die fehler beheben kann?

Warum wird der Bollean Typ nicht überspeichert?
 

ARadauer

Top Contributor
wieso heißt das jetzt ProbeAuto und hat einen member vermietet?

Egal was der jemand erzählt und wie schwer du es dir machst.
Es ist in wirklichkeit ganz einfach!!!! Objekte haben Eigenschaften und Methoden. Objekte sollen Dinge in der realen Welt darstellen, gibt ausnahmen, aber wenn du deine Fachmodell schreibst sollte das so sein.

Warum hat deine Autovermieteung die nun ProbeAuto heißt eine eigenschaft vermietet? Kann man deine ganze Autovermietung vermieten? Nein das auto muss vermietbar sein. Versteh nicht warum du es dir so schwer machst.

Code:
  return anzahlVermieteAutos = anzahlVermieteAutos++; 
              return gesamtFahrleistung = gesamtFahrleistung + autos[i].getleistung(); 
              return durchschnittlicheFahrleistung= gesamtFahrleistung  / anzahlVermieteAutos;
naja das kann ja nicht stimmen oder? warum hast du bei jeder zuweisung ein return?
 

Spin

Top Contributor
Hey ARadauer. Ich glaube nicht , dass ich zu doof für die Java Programmierung bin, sondern es daran liegt, dass ich zu wenig zeit habe mich damit exzessiv auseinander zusetzen.

Ich denke , wenn man es so wie du , fast täglich und schon jahrelang macht, ist es keine Hürde.

Die Objektorientierung ist für mich ein komplett neues Gebiet und verstehe es in der Realität. Das heißt ich kannes nach vollziehen das ein Auto nicht von der Autoverwaltung abgeleitet werden kann.

Doch in java sind mir diese reservierten wörter eine unbekanntes Geheimnis.

In wenige Büchern ist es gut erklärt und man liest es sich tausend mal durch...kein erfolg. Wo steht bitte gut erklärt: Was getter und setter sind. Nicht umsonst fragen soviel tausend von Leute nach diesen thema.



@thema

Ich habe nun boolean als member variable. Warum, damit ich es in meiner while schleife verwenden kann.
Du hattest geschrieben, dass du es nicht im Konstruktor einbauen würdest, sondern anders. Als anders habe ich es nun als Member interpretiert.

Meine Klasse heißt nun ProbeAuto, weil ich versucht habe nochmal alles zu ordnen. Der Klassenname ist ja nicht ausschlaggebend.


Warum hat deine Autovermieteung die nun ProbeAuto heißt eine eigenschaft vermietet? Kann man deine ganze Autovermietung vermieten? Nein das auto muss vermietbar sein. Versteh nicht warum du es dir so schwer machst.


Nein man kann keine ganze Autovermietung vermieten. Das heißt also ich muss meine membervariable in mein erweitertes auto packen. Dann kann ich mit autos.membervariable das ganze aufrufen.



Ich glaube mit deinen hinweisen, verstehe ich langsam wie dass zusammenhängt.

Warum mehr return werte?
mhh, ich dachte das würde gehen. Prinzipiell glaube ich hat eine methode nur einen Rückgabewert.

Zurückgegeben werden sollen aber mehrere sachen.
Code:
  return ((AvA = anzahlVermieteAutos++) && (Gfa = gesamtFahrleistung + autos[i].getleistung()) &&
                                 (d = gesamtFahrleistung  / anzahlVermieteAutos));




Man, wie gibt man denn mehrere werte zurück aus einer Methode?
 

Spin

Top Contributor
Ok, danke.


Wie macht man es denn . mehrere Methoden schreiben?

Code:
 public static int  vermieteAutos(int a)
   {   
       a =anzahlVermieteAutos++;
       return a;
   }
   public static int gesamtFahrleistung(int b)
   {   int i =0;
       b= gesamtFahrleistung + autos[i].getleistung(); 
       return b;
   }
   public static double durchschnittlicheFahrl(double c)
   {
       c =( gesamtFahrleistung  / anzahlVermieteAutos);
       return c;
   }


Nun lasse ich die werte in Variablen speichern.
Nun weiß ich trotzdem noch nicht wie ich die Werte aus dem Array raus hole.

Einer ne idee?
 

manuche

Bekanntes Mitglied
Code:
for (int i = 0; i < autos.length; i++){
  ErweitertesAuto auto = autos[i];
  if (auto != null){
    anzahlAutos++;
    if (auto.isVermietet()){
      anzahlVermieteteAutos++;
    }
  }
}
sowas wäre mal ein Ansatz! Denk dran, wenn die Variablen in der Klasse deklariert sind und nicht in ein Methode kannst du überall innerhalb der Klasse darauf zu greifen!
 

Spin

Top Contributor
Danke probiere nun ne halbe std- kang aus...und er sagt immer NullPointerException. Wie kann ich denn bollean initialisieren?

Das Programm macht es einfach nicht :(

Code:
       private boolean vermietet = false;

  


public void isVermietet(boolean vermietet)
{
this.vermietet=vermietet;
}

public boolean getvermietet()
{
return vermietet;
}






Von der logik her muss es doch funktionieren. Ich gette den bollean typ als false und setze ihn bei case auf true.

Dann wenn true ist dann soll er vermietet ausgeben.



Code:
boolean fertig = false;
         while(!fertig)
         {
          System.out.println("Sie haben sich dazu entschieden ein Fahrzeug bei uns zu mieten.");
          System.out.println("");
           System.out.println("Bitte waehlen sie ein Auto : 0 , 1 , 2, 3 , 4 ");
          info();
          BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
          
          zahl2 = Integer.parseInt(eingabe.readLine());
           for (int i = 0; i < autos.length; i++){
                       if (autos[0].getvermietet()){
                       System.out.println ("Auto ist bereits vermietet");
                       }
                     }
          
          

         
          System.out.println("Bitte geben Sie Ihre Daten ein"
                 +"\n" + " Vorname: ");
         autos[zahl2-1].setFahrer(eingabe.readLine());  // aufnahme der Fahrer daten

         System.out.println("Bitte geben Sie an wohin sie fahren möchten");
         autos[zahl2-1].setstandort(eingabe.readLine()); // Aufnahme des Fahrtziels

         
         // 5 Autos von dennen 1 gewählt wurde
         switch (zahl2)
         {
             case 1: print(); // Methode für Benutzerdialog
              boolean a = true;
             autos[0].info(); // Ausgabe des Arrays in dem nun Fahrer und Standort geändert wurde
             autos[0].isVermietet(a);


Er gibt mir nun das Auto ist vermietet 10 mal aus. Aso weil die Länge des Arrays 10 ist?
 

ARadauer

Top Contributor
Code:
for (int i = 0; i < autos.length; i++){ 
                       if (autos[0].getvermietet()){
bunny%20sad.jpg


also ja du gibst jetzt so oft wie die länge des array autos.length das erste fahrzeug autos[0] aus... gut, kann man machen ;-)

das mit 0 hast du gemacht, weil du eine null pointer bekommen hast oder? klar wenn aufeineml das 6. fahrzeug null ist, nehmen wir nur noch das erste... produziert zwar keinen fehler, ist aber sinnfrei ;-) der boolean vermietet wert war nicht null, der ist primitiv der kann gar nicht null sein. das auto an der stelle [5] war null, weil wir ja nur von 0 bis 4 was rein gestellt haben... ;-)

Code:
      for (int i = 0; i < autos.length; i++){ 
         if(auots[i]==null){
            System.out.println("leer");
         }else if(autos[i].getvermietet()){ 
            System.out.println ("Auto ist bereits vermietet"); 
         }else{
            System.out.println ("Auto ist nicht vermietet"); 
         }
       }
so müsste es gehen...
 

Spin

Top Contributor
Das mag sein, aber ich weiß nicht wo ich die einbauen soll.

Mir ist das echt zu hoch.

Muss morgen abgeben. Naja was solls, vielleicht finde ich irgendwann mal ein weg dahin.
 
M

manuela

Gast
Hallo,

Code:
boolean fertig = false; 
         while(!fertig) 
         { 
          System.out.println("Sie haben sich dazu entschieden ein Fahrzeug bei uns zu mieten."); 
          System.out.println(""); 
           System.out.println("Bitte waehlen sie ein Auto : 0 , 1 , 2, 3 , 4 "); 
          info(); 
          BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in)); 
          
          zahl2 = Integer.parseInt(eingabe.readLine()); 
           for (int i = 0; i < autos.length; i++){ 
                       if (autos[0].getvermietet()){ 
                       System.out.println ("Auto ist bereits vermietet"); 
                       } 
                     } 
          
          

          
          System.out.println("Bitte geben Sie Ihre Daten ein" 
                 +"\n" + " Vorname: "); 
         autos[zahl2-1].setFahrer(eingabe.readLine());  // aufnahme der Fahrer daten 

         System.out.println("Bitte geben Sie an wohin sie fahren möchten"); 
         autos[zahl2-1].setstandort(eingabe.readLine()); // Aufnahme des Fahrtziels 

          
         // 5 Autos von dennen 1 gewählt wurde 
         switch (zahl2) 
         { 
             case 1: print(); // Methode für Benutzerdialog 
              boolean a = true; 
             autos[0].info(); // Ausgabe des Arrays in dem nun Fahrer und Standort geändert wurde 
             autos[0].isVermietet(a);
wie ich das verstehe machst du folgendes.
Du hast eine Ausgabe = Sie haben sich dazu ...
dann machst du einen einen Return System.out.println(""); ist ein wenig unglücklich wenn du
System.out.println("Sie haben sich dazu entschieden ein Fahrzeug bei uns zu mieten.\n"); dass \n bewirkt das du einen Zeilenumbruch machst.
dann willst du eine Eingabe machen 0 - 4 soweit so gut. Dann gehe ich davon aus, das darnach deine Eingabe geprüft wird


Code:
        for (int i = 0; i < autos.length; i++){   // Das bedeutet das dein Array durchlaufen wird und endet in deinem Fall mit 4
                       if (autos[0].getvermietet()){  // du fragst immer nur nach dem ersten Auto  if (autos[i].getvermietet()){ 

                       System.out.println ("Auto ist bereits vermietet"); 
                       } 
                     }

dein getter heist nichts anderes als gib mir den Wert und dein setter heist setze den wert
bei boolean sollte der getter
Code:
 public boolean isVermietet(){
   return vermietet;
}

und dein setter sollte
public setVermietet(boolean a){
vermietet = a;
}

ich hoffe ich konnte dir helfen.

Gruß Manuela
 

Spin

Top Contributor
Code:
Vielen
Dank Manuela.


Ich habe die Klasse nun einfach mal zu ende geschrieben und bischen rumprobiert.

Aber das vermietet geht immer noch nicht 100%.


Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Autoverwaltung {



   /* Die Klasse Autoverwaltung besitzt die Klassenvariablen */
   static  int anzahlVermieteAutos;   // deklarieren der statischen Variablen
   static  int gesamtFahrleistung;
   static  double durchschnittlicheFahrleistung;
  

   static ErweitertesAuto autos[] = new ErweitertesAuto[10];   // ein statisches Array (10 slots)

     public static void dialog() throws IOException
     { //Methode Dialog 
    
    
    boolean fertig = false; //Boolean Typ wird mit False deklariert
    
    
    while(!fertig){//Whileschleife wird durchlaufen, solange ende nicht wahr ist
      System.out.println("Herzlich Willkommen zu Fahrzeugvermietung");
      System.out.println("Wählen Sie nun zwischen "
            +"\n" +"[1]Informationen über Fahrzeuge"
            +"\n" +"[2]Fahrzeug ausleihen"
            +"\n" +"[3]Gesamtübersicht"
            +"\n" +"[4]Programm beenden");
    
      
    BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));// Aus dem Package IO, KLasse BufferedReader  
    int  auswahl = Integer.parseInt(eingabe.readLine());// Ein lesen des Integerwerts
    
    switch(auswahl) {
        
        case 1: info();
        break;
        case 2: vermietung();
        break;
        case 3: ct();
        break;
        case 4: System.exit(-1);
    
     }  fertig= false;  // ist fertig // while schleife ist nun false
   }
     }
    
  public static void vermietung() throws IOException{
        
    BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in)); //BufferedReader wird erzeugt
 
    
    for(int i = 0;i < 5;i++){//for-schleife  von 1 bis 5 durchlaufen
       System.out.println("Auto "+(i+1)+":"); //Text mit aktuellem Zählerstand wird ausgegeben
       if(!autos[i].vermietet) 
           autos[i].info();
       else System.out.println("vermietet");
    }
    System.out.println("Entscheiden Sie sich für ein Auto"); 
    int auswahl = (Integer.parseInt(eingabe.readLine())-1);
   
    System.out.println("Bitte geben Sie ihren Namen ein"); 
    autos[auswahl].setFahrer(eingabe.readLine());
    
    System.out.println("Bitte geben Sie ihr Fahrziel ein");  
    String target = eingabe.readLine();
    
    System.out.println("Bitte geben Sie die Entfernung ein"); 
    int distance = Integer.parseInt(eingabe.readLine());
    
  

         
    autos[auswahl].faehrtnach(target, distance);// Methode faehrt nach mit formalen Parametern wird aufgerufen
    autos[auswahl].vermietet = true;
    anzahlVermieteAutos++;// Nach dem auswahl getroffen wurde ist ein Auto nun vermietet
    gesamtFahrleistung = gesamtFahrleistung + distance;
   
    
    }
   

    
    public static void ct(){
     System.out.println("Fahrzeug-Gesamtübersicht"); 
     System.out.println("Vermietete Autos : "+anzahlVermieteAutos);
     System.out.println("Gesamtfahrleistung "+gesamtFahrleistung);
     
     
     if (!(anzahlVermieteAutos == 0)) {
     durchschnittlicheFahrleistung = gesamtFahrleistung / anzahlVermieteAutos;
     }//durch null darf man nicht teilen
     System.out.println("Durchschnittliche Fahrleistung "+ durchschnittlicheFahrleistung);
     System.out.println("Gesamtübersicht : ");
     
     for (int i = 0;i<5;i++){
         
        autos[i].info();
         
     }}


           
   
   
   public static void main(String[] args) throws IOException {
      
  
      autos[0] = new ErweitertesAuto(" ", "Auto ","rot",1980, 110,230000,"München",15498);
      autos[1] = new ErweitertesAuto("", "Auto","gelb",2001, 120,25900,"Rostock",15468);
      autos[2] = new ErweitertesAuto("", "Auto","blau",2005, 89,5000,"Berlin",15426);
      autos[3] = new ErweitertesAuto("", "Bagger","grün",1999, 55,100000,"Hamburg",33256);
      autos[4] = new ErweitertesAuto("", "Auto","silber",2000, 205,50000,"Trier",15487);
       
    

    
      dialog();
      }



Vielleicht ist ardauer nun ein wenig stolz auf mich , dass ich es soweit geschafft habe...............


Code:
Auto 1:
vermietet
Auto 2:
 Fahrer:  Autotyp: Auto Farbe des Autos: gelb Erstzulassung: 2001 Leistung: 120 Kilometerstand: 25900 Standort Rostock Fahrgestellnumer15468
Auto 3:
 Fahrer:  Autotyp: Auto Farbe des Autos: blau Erstzulassung: 2005 Leistung: 89 Kilometerstand: 5000 Standort Berlin Fahrgestellnumer15426
Auto 4:
 Fahrer:  Autotyp: Bagger Farbe des Autos: grün Erstzulassung: 1999 Leistung: 55 Kilometerstand: 100000 Standort Hamburg Fahrgestellnumer33256
Auto 5:
 Fahrer:  Autotyp: Auto Farbe des Autos: silber Erstzulassung: 2000 Leistung: 205 Kilometerstand: 50000 Standort Trier Fahrgestellnumer15487
Entscheiden Sie sich für ein Auto
1
Bitte geben Sie ihren Namen ein




Kann mir da noch jemand ein tipp geben.

Ich versuche mich solange, dass programm abzufangen und eingabe fehler auszuschalten.

gruß spin

[/code]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Import von Klassen aus anderen Projekten mit dem Setzen des "Classpath" Java Basics - Anfänger-Themen 9
R Klassen Anonyme Klassen: Zugänglichkeit neuer Methoden Java Basics - Anfänger-Themen 2
D Initialisierung von Klassen-Objekte Java Basics - Anfänger-Themen 47
J Methodenaufrufe abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 17
M Abstrakte Klassen - Notation Java Basics - Anfänger-Themen 9
Detlef Bosau Nachladen von Klassen zur Laufzeit Java Basics - Anfänger-Themen 24
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
C Array von Klassen Java Basics - Anfänger-Themen 2
monsterherz 2 Klassen daher Probs mit dem Dateinamen Java Basics - Anfänger-Themen 9
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 9
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
D Klassen Klassen Kommunikation Java Basics - Anfänger-Themen 12
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
L Best Practice Annotierte Klassen im Classpath herausfinden Java Basics - Anfänger-Themen 1
P Mit dem Scanner Klassen aufrufen Java Basics - Anfänger-Themen 3
O Klassen Zusammenspiel zwischen 2 Klassen Java Basics - Anfänger-Themen 1
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
Speedrunner klassen aufrufen Java Basics - Anfänger-Themen 41
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9
D importieren eigener Klassen Java Basics - Anfänger-Themen 12
W Wo ist der Wurm in meinem Grundverständnis von Klassen? Java Basics - Anfänger-Themen 22
S Daten/Klassen/Packages richtig updaten!? Java Basics - Anfänger-Themen 2
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
elsaaaaaa Wochentag als String ausgeben mit JDK Klassen Java Basics - Anfänger-Themen 6
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
Z Mehtode bei Start des Programms ausführen (Klassen übergreifend) Java Basics - Anfänger-Themen 12
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
B Inventar als einzelne Klassen anlegen? Java Basics - Anfänger-Themen 12
G Java Klassen und Instanzmethoden Java Basics - Anfänger-Themen 15
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Attribute für vererbte Klassen Java Basics - Anfänger-Themen 4
S Klassen instanziieren und verwenden von Getter und Setter Java Basics - Anfänger-Themen 4
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
G Abstrakte Klassen Java Basics - Anfänger-Themen 11
Y Klassen Klassen und Objekte Java Basics - Anfänger-Themen 3
Y Klassen Klassen und Objekte mit set und get Java Basics - Anfänger-Themen 0
A Generischen Klassen Java Basics - Anfänger-Themen 8
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Generische Klassen/Interface Java Basics - Anfänger-Themen 1
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
J 2 klassen benutzen Java Basics - Anfänger-Themen 5
A Klassen und methoden Java Basics - Anfänger-Themen 15
A Bankweverwaltung mit Klassen und Methoden Java Basics - Anfänger-Themen 14
J Klassen Problem Java Basics - Anfänger-Themen 8
I Java Klassen "Graphics" und "MouseEvent" kombinieren Java Basics - Anfänger-Themen 7
I Klassen als Datentyp nutzen? Java Basics - Anfänger-Themen 11
M Aufsplitten von Methoden in andere Klassen Java Basics - Anfänger-Themen 2
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
C Klassen objektorientiert aufteilen Java Basics - Anfänger-Themen 6
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
A Auf Eigenschaften von Objekten anderer Klassen zugreifen Java Basics - Anfänger-Themen 5
F Klassen und Pakete Projektübergreifend (Eclipse) Java Basics - Anfänger-Themen 6
V_Fynn03 Klassen Überweisungen tätigen und einzahlen mit 2 Klassen Java Basics - Anfänger-Themen 1
W Abarbeitungsreihenfolge Anonyme Klassen Java Basics - Anfänger-Themen 2
V_Fynn03 Bruchrechner programmieren (2 Klassen) Java Basics - Anfänger-Themen 9
D OOP- Eine Klasse in mehrere Klassen aufteilen Java Basics - Anfänger-Themen 7
J Problem mit Array: 2 Klassen Java Basics - Anfänger-Themen 2
W Frage zu anonymen Klassen Java Basics - Anfänger-Themen 4
Curtis_MC Parameter-Übergabe bei Klassen und Methoden Java Basics - Anfänger-Themen 12
E Klassen implementieren Java Basics - Anfänger-Themen 94
T Interfaces in erbenden Klassen Java Basics - Anfänger-Themen 2
C Methoden/Klassen Übergabewerte Java Basics - Anfänger-Themen 8
C Java Klassen/Methoden/Übergabeparameter Java Basics - Anfänger-Themen 4
L Wie geht man bei mehreren Action Klassen vor? Java Basics - Anfänger-Themen 0
P Datentypen, Klassen, Operatoren, Wrapperklassen Java Basics - Anfänger-Themen 2
L Wie teilt man ein Programm in vernünftige Klassen ein? Java Basics - Anfänger-Themen 10
T Klassen Denkfehler im Klassen "dynamisch" instanzieren? Java Basics - Anfänger-Themen 4
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
A Methode, Klassen Java Basics - Anfänger-Themen 3
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
J Zwei Klassen die sich gegenseitig referenzieren - Bad practice? Java Basics - Anfänger-Themen 4
G Klassen und Objekte Java Basics - Anfänger-Themen 2
Java The Hutt SetWerte über verschiedene Klassen Java Basics - Anfänger-Themen 16
D Klassen ausgeben Java Basics - Anfänger-Themen 2
H linkedlist generische klassen Java Basics - Anfänger-Themen 169
B CSS Klassen in eine Liste schreiben Java Basics - Anfänger-Themen 4
Queiser Nicht statische Klassen Java Basics - Anfänger-Themen 6
neerual Klassen Wie rufe ich Klassen, die andere Klassen extenden in einer Test Unit auf? Java Basics - Anfänger-Themen 10
J Gleiche Methode in 2 verschiedenen Klassen - Lösung ? Java Basics - Anfänger-Themen 8
G Refactoring von mehreren identischen Klassen Java Basics - Anfänger-Themen 36
O Wrapper Klassen Java Basics - Anfänger-Themen 6
CptK Best Practice Klassendiagramm aus fertigen Klassen erstellen lassen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben