Compiler-Fehler Test Programm

Prinzessin

Neues Mitglied
Ich habe einige Aufgaben bekommen, jedoch verzweifle ich daran...

Nummer 1 und 2 und 3 habe ich hoffentlich richtig... 2 und 3 ist in einer Klasse
Das waren die Aufgaben:
1. Entwickeln Sie in Java eine Klasse Auto. Die Klasse Auto besitzt die beiden Attribute leistung und anzahlInsassen, sowie get- und set-Methoden für diese beiden Attribute. Wählen Sie für die Attribute geeignete Datentypen und beachten Sie die Datenkapselung.
Die Klasse Auto verfügt über einen erweiterten, parameterlosen Standardkonstruktor, der die Attribute leistung mit 75 und anzahlInsassen mit 1 vorinitialisiert.
Außerdem verfügt die Klasse Auto über einen weiteren Konstruktor, dem die Werte für die Attribute als Parameter übergeben werden. Nutzen Sie innerhalb des Konstruktors die set-Methode für das entsprechende Attribut.
2. Entwickeln Sie in Java eine Klasse PKW, die von der Klasse Auto abgeleitet wird.
Die Klasse PKW enthält die zusätzlichen Eigenschaften hersteller und modell. Wählen Sie einen geeigneten Datentyp, implementieren Sie die get- und set- Methoden für diese Attribute und achten Sie auf die Datenkapselung.
3. Ergänzen Sie die Klasse PKW um einen Konstruktor, dem zusätzlich zu den Attributen der Klasse Auto die beiden Attribute der Klasse PKW als Parameter übergeben werden. Nutzen Sie auch hier innerhalb des Konstruktors die entsprechende set-Methode. Stellen Sie sicher, dass leistung und anzahlInsassen nicht kleiner gleich Null sein können, d. h. im Fall, das Werte kleiner gleich Null übergeben werden, sollen diese Werte auf 75 und 1 gesetzt werden.
4. Schreiben Sie eine Java Applikation AutoTest, die in einem Array fünf Objekte vom Typ PKW anlegt. Initialisieren Sie die fünf Objekte über den Konstruktor der Klasse PKW und geben Sie die Eigenschaften der einzelnen Objekte auf dem Bildschirm aus.


Meine Lösung für 1:
Java:
public class Auto {
	private int leistung;
	private int anzahlInsassen;
	
	public void setleistung(int value) {
	this.leistung = value;
}
public int getleistung() {
	return this.leistung;
}

public void setanzahlInsassen(int value) {
	this.anzahlInsassen= value;
}
public int getanzahlInsassen() {
return this.anzahlInsassen;
}	
 public Auto ()
 {
	 leistung= 75;
	 anzahlInsassen= 1;
 }
 
 public Auto (int leist, int anz)
 {
	 this.leistung=leist;
	 this.anzahlInsassen=anz;
	 }
	
		
	 }

meine Lösung für 2 und 3:

Java:
public class PKW extends Auto{
	private int leistung;
	private int anzahlInsassen;
	private int hersteller;
	private int mode11;
	
	public void setleistung(int value) {
	this.leistung = value;
}
public int getleistung() { 
	return this.leistung;
}

public void setanzahlInsassen(int value) {
	this.anzahlInsassen= value;
}
public int getanzahlInsassen() {
return this.anzahlInsassen;
}	
public void sethersteller(int value) {
	this.leistung= value;
}
public int gethersteller() {
	return this.hersteller;
}
public void setmode11(int value){
	this.mode11= value;
}
public int getmode11() {
	return this.mode11;
}
public PKW()
{
	if (leistung < 0)
	 leistung= 75;
	if (anzahlInsassen <0)
	 anzahlInsassen= 1;
}	
 public PKW(int leist, int anz, int herst, int m11)
 {
	 this.leistung=leist;
	 this.anzahlInsassen=anz;
	this.hersteller=herst;
	this.mode11=m11;
 }
 
}


Die vierte Aufgabe war ja en AutoTest Programm zu schreiben... ich habe kp wie das geht.. habe alles durchgelesen aber nicht hinbekommen... mein Ansatz: (aber da is in eclipse alles rot:(( )
Java:
public class AutoTest {
	
	public static void main(String[] args) {
		
	PKW PKW1 = new PKW ();
		PKW1.getleistung();
		PKW1.getanzahlInsassen ();
		PKW1.gethersteller();
		PKW1.getmode11();
		
		System.out.println("leistung: " + PKW1.getleist());
		
		Sytem.out.println("anzahlInsassen" + PKW1.getanz());
		Sytem.out.println ("hersteller" + PKW1.getherst());
		Sytem.out.println ("mode11" + PKW1.getm11());


}
}



Bitte hilft mir:(( danke im vorraus
 
Zuletzt bearbeitet:

franky27

Bekanntes Mitglied
Also ich habe nur mal grob drüber geschaut. Sieht irgedwie ziemlich zusammenkopiert aus..;-) Was mir als erstes auffällt, ist das der Datentyp für Hersteller und Modell als int so erstmal weniger Sinn macht. Hersteller "2" und Modell "3" oder ähnliches willst du ja sicher nicht haben. Ein sinnvoller Datentyp ist hier der String, so dass du Bezeichnungen benutzen kannst. Dein Hauptprogramm ist so auch nix, du rufst völlig sinnfrei die get Methoden auf.. Ausserdem sollst du ja ein Array benutzen. Also sowas:
Java:
PKW []auto;
          auto[0] = new auto ("Opel", "Manta");
          auto[1] = new auto (75, 2, "VW", "Golf");
usw.

Danach kannst du die Attribute in einer for schöeife ausgeben lassen
Java:
for (int i = 0; i<auto.length; i++){
          System.println("Anzahl Insassen: " + auto[i].getInsassen());
          System.println("Hersteller: " + auto[i].getHersteller());
usw.
 

Oben