Konstruktor

Perkun

Mitglied
Hallo, ich hänge an dieser Aufgabe fest. Ich sollte eine Testklasse schreiben, mit der die Methoden aus der Klasse EinfachesAuto aufgerufen werden. Mein erster Lösungansatz sieht so aus:
Java:
  public class EinfachesAutoTest {



    public static void main(String[] args) {

EinfachesAuto farbe01 = new meldung (braun);

system.out.println(farbe01.meldung);



}


}



Beim Kompilieren gibts nur Fehlermeldungen, was mache ich da falsch?





Java:
 import java.util.Calendar;


 public class EinfachesAuto {

     // Instanzvariablen
     private String besitzer;
     private String autotyp;
     private String farbe;
     private int erstzulassung;
     private int leistung;
     private int kmStand;

     // Konstruktor
     public EinfachesAuto(String besitzer, String autotyp, String farbe,
             int erstzulassung, int leistung, int kmStand) {
         this.besitzer = besitzer;
         this.autotyp = autotyp;
         this.farbe = farbe;
         this.erstzulassung = erstzulassung;
         this.leistung = leistung;
         this.kmStand = kmStand;
     }

     /**
      * Die Methode getAlter() dient zur Errechnung des Autoalters ueber die
      * Erstzulassung.
      *
      * @return int: Alter des Autos
      */
     public int getAlter() {
         // Ermittlung des aktuellen Jahres
         Calendar aktuellerKalender = Calendar.getInstance();
         int aktuellesJahr = aktuellerKalender.get(Calendar.YEAR);
         return aktuellesJahr - this.erstzulassung;
     }

     /**
      * Die Methode meldung() gibt die Attribute "farbe" und "besitzer" auf der
      * Standardausgabe aus.
      */
     public void meldung() {
         System.out.print("Hier gruesst das " + this.farbe + "e ");
         System.out.print("Auto von " + this.besitzer);
     }

 }
 

Pentalon

Bekanntes Mitglied
Dein Konstruktoraufruf ist etwas komisch.

Java:
EinfachesAuto farbe01 = new meldung (braun);

Die Klasse heisst doch EinfachesAuto. So heisst dann auch der Konstruktor.

Java:
public EinfachesAuto(String besitzer, String autotyp, String farbe,
             int erstzulassung, int leistung, int kmStand

Der Konstruktoraufruf sollte dann lauten:
Java:
EinfachesAuto auto1 = new EinfachesAuto("Hans Dampf", "Rot", 2012, 300, 5);

danach kannst Du über
Java:
auto1.meldung();

die Methode dieser Instanz der Klasse aufrufen.
Vorausgesetzt Deine Klasse hat keinen anderen Fehler (hab ich jetzt nicht wirklich angesehen).

Pentalon
 
Zuletzt bearbeitet:

Perkun

Mitglied
vielen Dank für deine Antwort.

ich muss über die Klasse EinfachesAutoTest die Parameter übergeben, so dass diese Klasse die Methoden aus der Klasse EinfachesAuto die Parameter übernehmen
 
M

Marcinek

Gast
Ist das eine frage oder weißt du nun was machen sollst?

Wieso denkst du, dass man dir besser helfen kann, wenn du die Fehlermeldung nicht postest?

Kann man nicht schon via google was dazu erfahren? - bestimmt kam der Fehler dchon mal auf.

Beachte den link in meiner Signatur.
 

Perkun

Mitglied
^
2 errors

C:\java>javac EinfachesAutoTest.java
EinfachesAutoTest.java:12: error: invalid method declaration; return type requir
ed
public EinfachesAuto(String besitzer, String autotyp, String farbe,
^
1 error

C:\java>javac EinfachesAutoTest.java
EinfachesAutoTest.java:19: error: constructor EinfachesAuto in class EinfachesAu
to cannot be applied to given types;
EinfachesAuto auto1 = new EinfachesAuto("Hans Dampf", "Rot", 2012, 300, 5);
^
required: String,String,String,int,int,int
found: String,String,int,int,int
reason: actual and formal argument lists differ in length
1 error

C:\java>
 

Perkun

Mitglied
Das hier ist die Aufgabenstellung:


Schreiben Sie eine Testklasse EinfachesAutoTest.java, mit der Sie EinfachesAuto.class testen, in dem Sie drei Objekte erzeugen und deren Methoden aktivieren.


Teil 2:
Erweitern Sie den Quellcode Ihrer Klasse EinfachesAuto.java um
folgende Attribute:

private String standort;
private long fahrgestellnummer;

und um folgende Methoden:

weiteren Konstruktor, der die neuen Attribute ebenfalls initialisiert.

public String toString()
Gibt die Werte der Objektattribute als formatierten String zurück.

public void setzeNeuesZiel(String ziel, int entfernung)
Methode schreibt eine Meldung auf den Bildschirm:
Auto fährt von [Standort] nach [Ziel].
Die Entfernung: [Entfernung] beträgt km.
Die Methode speichert den neuen Standort und den neuen Kilometerstand in die entsprechenden Klassenattribute.
 
M

Marcinek

Gast
Übersetze mal die Fehlermeldung der letzen kompilierung ins deutsche. Ich mein die Lösung steht da.
 

Pentalon

Bekanntes Mitglied
Naja, wenn man sich den Konstruktor in Deiner Klasse ansieht, bemerkt man, dass er 6 Parameter möchte.
3 von Typ String und 3 INT. Das steht auch in der Fehlermeldung.

Java:
public EinfachesAuto(String besitzer, String autotyp, String farbe,
             int erstzulassung, int leistung, int kmStand)

Ich habe bei meinerm Posting den Autotyp übersehen.

Der Korrekte Aufruf ist:
EinfachesAuto auto1 = new EinfachesAuto("Hans Dampf", "Porsche", "Rot", 2012, 300, 5);

Das sind allerdings Dinge, die der Programmierer auch selber rausfinden können sollte, denn immerhin hat er ja die Klasse geschrieben.

Java:
public class EinfachesAutoTest {

	public static void main(String[] args) {

		EinfachesAuto auto1 = new EinfachesAuto("Hans Dampf", "Porsche", "Rot", 2012, 300, 5);
		auto1.meldung();
	}
}

Pentalon
 

Perkun

Mitglied
Der Quellcode der Klasse EinfachesAuto war ja vorgegeben. Trotzdem, wer lesen kann ist klar im Vorteil.

Ich danke euch vielmals!
 
M

Marcinek

Gast
:rtfm:

Du hast innerhalb von 6 Minuten drei Beiträge geschrieben. Wenn noch keine Antworten da sind hätte man ja den ersten Beitrag noch editieren können.

Vor allem sind ja nichtmal neue Informationen gekommen. =)
 

Perkun

Mitglied
schon, ihr habt ja während ich Textpad benutzte super schnell geantwortet.

ist nicht negativ gemeint. Hier kriegt man super schnelle Antworten. Danke.

Aber ich fürchte ich hänge nun an der nächsten Stelle fest.....
 

Perkun

Mitglied
Java:
  public class EinfachesAutoTest {




    public static void main(String[] args) {




EinfachesAuto auto1 = new EinfachesAuto("Hans Dampf", "Pobel", "Rot", 2012, 300, 5);

auto1.meldung();



EinfachesAuto auto2 = new EinfachesAuto("Hans Dampf", "Pobel", "Blau", 2012, 300, 5);


System.out.println(auto2.getAlter());
}


}


wollte die Methode getAlter () in Gang setzen, aber irgendwie scheint das nicht zu klappen.

meine bisherigen Ergebnisse:

C:\java>java EinfachesAutoTest
Hier gruesst das Rote Auto von Hans Dampf
C:\java>javac EinfachesAutoTest.java

C:\java>java EinfachesAutoTest
Hier gruesst das Rote Auto von Hans Dampf0
 
Zuletzt bearbeitet:
M

Marcinek

Gast
[STRIKE]Tja, du hast leider nix verstanden.[/STRIKE]

Buch nehmen.

Den Link in meiner Signatur lesen.

---

Sieht aus, als ob es klappen würde. :applaus:
 
Zuletzt bearbeitet von einem Moderator:

Pentalon

Bekanntes Mitglied
Hey Perkun

Das passt doch eh.
Er schreibt etwas Formlos 0 hin. Das ist auch genau das Alter des Autos, dessen Erstzulassung 2012 ist.
Gib Deinen Auto ein äteres Datum, dann wirst Du sehen, dass die Berechnung stimmt.

Java:
EinfachesAuto auto2 = new EinfachesAuto("Hans Peter", "Pobel", "Blau", 2010, 300, 5);
System.out.println("Das Alter von Auto2 ist: "+auto2.getAlter());

Pentalon
 
G

Gast2

Gast
mein Beileid an die Lehrer...
eher mein Beileid an die Studenten - das Script ist völlig chaotisch

Habe ich was verpasst? oO *neugierig*
Meine Frau hat das letztes Semester gemacht - "Einführung in die Programmierung". Lt. Dozentin durfte nichts kopiert werden. Den Studenten wurde ein Framework mitgegeben welches beim kompilieren eingebunden werden sollte. Es wurde nicht erklärt wie und was Packages sind wurde erst nach dem halben Script so halb erklärt. Meine Frau ist nur am verzweifeln gewesen.

Ich weis das man als Student sich selber um Details kümmern sollte, also sich tiefer mit der Materie auseinander setzen. Aber wenn im Script vom Dozenten nicht mal die Grundlagen erklärt werden und bei Fragen als Antwort fast immer kommt "das machen wir später" ist das alles fürn Arm.

hand, mogel
 

javaninja

Mitglied
eher mein Beileid an die Studenten - das Script ist völlig chaotisch


Meine Frau hat das letztes Semester gemacht - "Einführung in die Programmierung". Lt. Dozentin durfte nichts kopiert werden. Den Studenten wurde ein Framework mitgegeben welches beim kompilieren eingebunden werden sollte. Es wurde nicht erklärt wie und was Packages sind wurde erst nach dem halben Script so halb erklärt. Meine Frau ist nur am verzweifeln gewesen.

Ich weis das man als Student sich selber um Details kümmern sollte, also sich tiefer mit der Materie auseinander setzen. Aber wenn im Script vom Dozenten nicht mal die Grundlagen erklärt werden und bei Fragen als Antwort fast immer kommt "das machen wir später" ist das alles fürn Arm.

hand, mogel

:applaus:

Ja danke da fühle ich mich verstanden. Finde das Skript auch nicht sehr spitze. Mit jeder weiteren Lektion kann ich vorangegangen Übungen erst verstehen. Na ja mal schauen wie lange ich durchhalte.
 

Perkun

Mitglied
Hallo zusammen,

ja ich weiß, dass man als Student sich ein bißchen Mühe geben soll. Da ich neben Familie & Vollzeitjob dieses Studium nebenher betreibe und zuvor mit der Programmierung nichts am "Hut" hatte, fällt mir dies alles nicht ganz so leicht.

Für manche ist das alles hier ein Kinderspiel und haben wohl keine Schwierigkeiten mit java, mein Glückwunsch an all jene.

Dies sind meine ersten Schritte in java und so leicht möchte ich einfach nicht aufgeben.

Ein großes Lob an Pentalon, vielen Dank für deine Hilfe.

Das mit dem Baujahr ist mir vorhin auch aufgefallen, habe dies abgeändert und da zeigte er wieder nichts an.

Jetzt habe ich das genau so geschrieben wie du es vorgeschlagen hattest und es klappte

Java:
  public class EinfachesAutoTest {




    public static void main(String[] args) {

EinfachesAuto auto1 = new EinfachesAuto("Erich K.", "Kutsche", "zitronengelb", 1933, 300, 5);
EinfachesAuto auto2 = new EinfachesAuto("Hans M.", "Tüff Tüff", "kastanienbraun", 1900, 300, 5);
EinfachesAuto auto3 = new EinfachesAuto("Fritz H.", "RocketV", "himmelblau", 1900, 300, 5);



auto1.meldung();
System.out.println("");

auto2.meldung();
System.out.println("");

auto3.meldung();
System.out.println("");


EinfachesAuto auto4 = new EinfachesAuto("Hans Peter", "Pobel", "Blau", 2010, 300, 5);
System.out.println("Das Alter von Auto4 ist: "+auto4.getAlter());



}



}


:toll:
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
C OOP Parameter vom Konstruktor Java Basics - Anfänger-Themen 1
R Konstruktor mit Datum Java Basics - Anfänger-Themen 17
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
T Schlüsselworte Schlüsselwort this im Konstruktor Java Basics - Anfänger-Themen 3
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
J Konstruktor Java Basics - Anfänger-Themen 18
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
G Welche Attribute kommen in den Konstruktor? Java Basics - Anfänger-Themen 5
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Konstruktor und update Java Basics - Anfänger-Themen 4
K Kopier-Konstruktor Java Basics - Anfänger-Themen 6
S Default Konstruktor Java Basics - Anfänger-Themen 7
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
Zeppi OOP Bruch kürzen im Konstruktor Java Basics - Anfänger-Themen 2
HorstSchröder Konstruktor mit Initialwert Java Basics - Anfänger-Themen 1
C Konstruktor ab serialisiertem Objekt Java Basics - Anfänger-Themen 4
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
B Konstruktor mit Array als Parameter Java Basics - Anfänger-Themen 3
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
C Interface und Konstruktor Java Basics - Anfänger-Themen 1
H Generische Konstruktor Java Basics - Anfänger-Themen 12
MiMa Seltsames Verhalten im Konstruktor Java Basics - Anfänger-Themen 6
S Konstruktor passt nicht zum Rest Java Basics - Anfänger-Themen 11
C Unbekannter "Konstruktor"?? Java Basics - Anfänger-Themen 10
W OOP Warenlager mit Array(Konstruktor, Methoden) Java Basics - Anfänger-Themen 39
R Objekt in Konstruktor ist nicht zulässig Java Basics - Anfänger-Themen 5
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
K Konstruktor für ein Objekt mit Zugriffsmethoden Java Basics - Anfänger-Themen 7
H Unterschied Konstruktor und Klassenname x = new Klassenname; Java Basics - Anfänger-Themen 3
B Klassen Array Parameter im Konstruktor? Java Basics - Anfänger-Themen 4
E Konstruktor mit Methode Java Basics - Anfänger-Themen 7
E ArithmeticException im Konstruktor Java Basics - Anfänger-Themen 4
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4
F Konstruktor richtig implementiert? Frage zu Benutzereingaben... Java Basics - Anfänger-Themen 9
W Typecastin im Konstruktor? Java Basics - Anfänger-Themen 2
A Variablen Variablenwert über Konstruktor ändern Java Basics - Anfänger-Themen 3
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
C Konstruktor mit und ohne Parameterliste Java Basics - Anfänger-Themen 13
L Instanzvariablen, Veerbung, Konstruktor Java Basics - Anfänger-Themen 32
E Best Practice Konstruktor mit bestehender Intanz der gleichen Klasse aufrufen Java Basics - Anfänger-Themen 4
E Plausibilitätsprüfung in dem Konstruktor mit Ausnahmebehandlung Java Basics - Anfänger-Themen 8
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
D Compiler-Fehler Konstruktor von Superklasse übernehmen Java Basics - Anfänger-Themen 1
P Counter im Konstruktor Java Basics - Anfänger-Themen 11
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
I Einträge in den Konstruktor Java Basics - Anfänger-Themen 3
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
G Int-Array im Konstruktor Parameter Java Basics - Anfänger-Themen 37
T Datentypen Warum mit Konstruktor Objektvariablen initalisieren? Java Basics - Anfänger-Themen 19
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
P Konstruktor. Java Basics - Anfänger-Themen 4
D Best Practice Objekt automatisch im Konstruktor füllen? Java Basics - Anfänger-Themen 9
D Objekt oder Konstruktor Java Basics - Anfänger-Themen 2
F Java default Konstruktor Java Basics - Anfänger-Themen 1
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
T Konstruktor mit Referenzdatentypen Java Basics - Anfänger-Themen 5
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
T setter im Konstruktor einbauen? Java Basics - Anfänger-Themen 8
R ArrayList im Konstruktor. Java Basics - Anfänger-Themen 4
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
S Variable, die im Konstruktor gesetzt wird, wird nicht gefunden vom Compiler. Java Basics - Anfänger-Themen 4
C Generic im Konstruktor Java Basics - Anfänger-Themen 1
F Privater Konstruktor und statische Methoden Java Basics - Anfänger-Themen 4
W Konstruktor von FileInputStream nicht gefunden Java Basics - Anfänger-Themen 18
B Methoden Konstruktor im Konstruktor aufrufen Java Basics - Anfänger-Themen 2
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
G Verwendung von Konstruktor Java Basics - Anfänger-Themen 8
X Übergabeparameter Konstruktor (File) Java Basics - Anfänger-Themen 13
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
C Konstruktor in Abstrakten Klassen Java Basics - Anfänger-Themen 4
B Konstruktor Problem Java Basics - Anfänger-Themen 8
Joew0815 konstruktor und damit erstellte objekte Java Basics - Anfänger-Themen 1
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
H Fehler im Konstruktor abfangen Java Basics - Anfänger-Themen 10
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1
I Java Eingabe aus einer anderen Klasse in eine andere an Konstruktor übergeben Java Basics - Anfänger-Themen 4
O Konstruktor und Default Konstruktor Java Basics - Anfänger-Themen 7
S Kapselung Objekt bei Übergabe an Konstruktor nicht initalisiert Java Basics - Anfänger-Themen 3
I Vererbung Frage zum Konstruktor Java Basics - Anfänger-Themen 5
Y Konstruktor - Setter/Getter Java Basics - Anfänger-Themen 3
P Konstruktor Java Basics - Anfänger-Themen 4
E Initialisierung von Attributen und Konstruktor Java Basics - Anfänger-Themen 0
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
M Objekt Array an konstruktor übergeben und Initialisieren Java Basics - Anfänger-Themen 1
llabusch Vererbung Super Konstruktor Java Basics - Anfänger-Themen 5
P Erste Schritte WindowBuilder erstellt Konstruktor wie zugreifen Java Basics - Anfänger-Themen 5
M Parameter von Konstruktor, der Superklassen-Konstruktor aufruft Java Basics - Anfänger-Themen 2

Ähnliche Java Themen


Oben