Interpreter-Fehler Error Fehlercode

Chr1s

Mitglied
Guten Tag ich habe diesen Fehlercode erhalten:

Flugzeug.java:32: error: <identifier> expected
Siri.datenAusgeben();
^
Und das steht in meinem Texteditor:
Java:
class FlugzeugSteuer {

int f_benzin;
int f_zeit;
int f_kmh;
String f_flugrichtung;

FlugzeugSteuer(String f_flugrichtung, int f_benzin, int f_zeit, int f_kmh){
f_benzin = Treibstoff;
f_zeit = VerbleibendeZeit;
f_kmh = Geschwindigkeit;
f_flugrichtung = Flugrichtung;
}

void datenAusgeben(){
System.println("Sie fliegen in Richtung" + f_flugrichtung);
System.println("Ihnen verbleibt" + f_zeit + "minunten");
System.println("Sie haben noch" + f_benzin+"Lieter Treibstoff");
System.println("Sie fliegen mit" + f_kmh);
}

}


public class Flugzeug {
public static void main (String[]args);

//

FlugzeugSteuer Siri = new FlugzeugSteuer (80,100,2000,"Osten");

Siri.datenAusgeben();
}
danke für eure Hilfe.
 
Zuletzt bearbeitet von einem Moderator:
erstmal: nutz bitte die code Tags um deinen code zu formatieren: [ code=Java] ... [/code ] (ohne leerzeichen)
zweitens: Flugzeug.java:32 sagt aus, dass der Fehler in der Datei "Flugzeug.java" in Zeile 32 auftritt.
Deinem Code nach zu urteilen liegt das Problem hier:
Java:
public static void main (String[]args);
//
FlugzeugSteuer Siri = new FlugzeugSteuer (80,100,2000,"Osten");
Siri.datenAusgeben();
}
korrekt wäre es so:
Java:
public static void main (String[]args) {
//
FlugzeugSteuer Siri = new FlugzeugSteuer (80,100,2000,"Osten");
Siri.datenAusgeben();
}
 
Moin,

Was genau soll denn dieser Konstruktor ?? 😕
Java:
FlugzeugSteuer(String f_flugrichtung, int f_benzin, int f_zeit, int f_kmh)
{
    f_benzin = Treibstoff;
    f_zeit = VerbleibendeZeit;
    f_kmh = Geschwindigkeit;
    f_flugrichtung = Flugrichtung;
}
Erstens ist es eine sehr schlechte Idee die Namen in der Signatur genauso zu benennen, wie die Klassenvariablen!
Und zweitens: was sind denn "Treibstoff", "VerbleibendeZeit", .....
Die sind doch gar nicht deklariert!!

Oder ist der gepostete Code nicht aktuell ?? 😱

Gruß Klaus
 
muss nicht der erste Parameter deines Konstrukturs ein String sein, also

Code:
FlugzeugSteuer Siri = new FlugzeugSteuer("Osten", .....);
 
Das Speichern der Übergabeparameter in der Methode muss dann lauten:
Java:
this.f_benzin = f_benzin;
usw.
Ist nicht elegant, geht aber. Was das f_ bedeuten soll, habe ich allerdings nicht verstanden.
 
In diesem Fall wäre es wahrscheinlich besser diesen "prefix" einfach wegzulassen, dadurch wird der Code einfach lesbarer.
Durch den Prefix gewinnt man in diesem Fall auch keinen Vorteil.
Allgemein sollte man darauf schauen seine Variablen/Attribute gut zu benennen in lowerCamelCase (keine Unterstriche verwenden, wenn nur bei Konstanten oä).

Zu dem Code und deinem Problem: Wie die anderen schon gesagt haben gibt es ein paar Fehler.
Du hast einen Konstruktor mit 4 Parametern: einen String und dann drei Zahlen (int). Wenn du nun diesen Konstruktor verwenden willst dann musst du die Parameter natürlich auch in der richtigen Reihenfolge übergeben => Zuerst einen String und dann drei Zahlen.
Im Konstruktor musst du dann die Werte der Parameter den Attributen der Klasse zuweisen. In deinem Fall weist du dem Attribut "f_benzin" Treibstoff zu. Dein Compiler kennt aber keine Variable oder Parameter mit der Bezeichnung Treibstoff ... daher wird dir der Compiler das als Fehler anzeigen damit du etwas gültiges hinschreibst.
 

Zurück
Oben