Not a Statement Problem

BissI

Mitglied
hallo Habe iene Klasse Figut welche und Breite und Länge erweitert wurde !! Nun soll noch mit einer Methode die Fläche ausgerechent werden allerdings, sagt er hier immer "Not a Statement".

Java:
public class Figur{

  private double pos_x;
  private double pos_y;

  public Figur(double pos_x, double pos_y){

    this.pos_x = pos_x;
    this.pos_y = pos_y;
  }

  public double getPosX(){

   return this.pos_x;
  } 
  
  public double getPosY(){

    return this.pos_y;
  } 

  public void verschieben(double dx, double dy){

   this.pos_x += dx;
   this.pos_y += dy;
  }

  public String getType(){
 
   return "Figur";

  }




public class Rechteck extends Figur{

  public double laenge;
  public double breite;

  public Rechteck(double laenge, double breite){

    super(pos_x, pos_y);
    this.laenge = laenge;
    this.breite = breite;

  }

  public void berechneFlaeche(){

   double x = laenge * breite;
   System.out.println(x);

  }

 }

}

und nun die Mainmethode wo die Fehlermeldung kommt!!
Java:
class TestGeometrie{

  public static void main(String[] args){
  
  
  Rechteck Quadrat = new Rechteck(4,4);
  Quadrat.berechneFlaeche;
   
  }

}

wo liegt mein Fehler?
 
Zuletzt bearbeitet:
[c]Quadrat.berechneFlaeche();[/c]
Du solltest dich an die Konventionen halten: Klassen CamelCase mit beginnendem Grossbuchstaben, Methoden und Variablen mit beginnendem Kleinbuchstaben.
 
in deiner main,
Java:
  Quadrat.berechneFlaeche;

änder es mal in

Java:
  Quadrat.berechneFlaeche();

immerhin rufst du hier eine methode auf. wenn diese keine Parameter hat, muss man die Klammern trotzdem machen.
Übrigens schreibt man Variablen überlicherweise klein, also quadrat statt Quadrat.
 
Danke für die Antworten hab das soweit alles berichtigt, allerdings kann er jetzt irgentwie meine Klasse Rechteck nicht finden ? sieht ihr da vllt noch ein Fehler im Code?
 
Irgendwas muss du bei deiner Berichtigung verändert haben. Wenn die Klasse Rechteck nicht mehr gefunden wird, hast du möglicherweise ihren Namen verändert. Oder ist die Klasse nicht mehr public?

Wenn alles nichts hilft, poste bitte nochmal den Code aller Klassen.
 
Java:
public class Figur{

  private double pos_x;
  private double pos_y;

  public Figur(double pos_x, double pos_y){

    this.pos_x = pos_x;
    this.pos_y = pos_y;
  }

  public double getPosX(){

   return this.pos_x;
  } 
  
  public double getPosY(){

    return this.pos_y;
  } 

  public void verschieben(double dx, double dy){

   this.pos_x += dx;
   this.pos_y += dy;
  }

  public String getType(){
 
   return "Figur";

  }




public class Rechteck extends Figur{

  public double laenge;
  public double breite;

  public Rechteck(double laenge, double breite){

    super(pos_x, pos_y);
    this.laenge = laenge;
    this.breite = breite;

  }

  public void berechneFlaeche(){

   double x = laenge * breite;
   System.out.println(x);

  }

 }

}

und jetzt die Testklasse Geometrie (Mainmethode):

Java:
class TestGeometrie{

  public static void main(String[] args){
  
  
  Rechteck quadrat = new Rechteck(4,4);
  quadrat.berechneFlaeche();
   
  }

}
 
Rechteck ist eine innere Klasse. Sie ist also eine Klasse von Figur und ist so mit deinem Aufruf von aussen(also von Geometrie aus) nicht erreichbar.

Wolltest du das so (ist dir einfach was mit den geschweiften Klammern durcheinander gekomme)? Oder sollen Figur und Rechteck jeweils eine eigenständige Klasse sein? Wenn dem so ist, und beide in einer Datei sein sollen, dürfen nicht beide Klassen public sein. In einem File ist nur eine public-Klasse erlaubt, und diese Klasse gibt dann auch den Namen vor den die Datei haben muss.
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben