Error: illegal start of expression

Résolu/Fermé
Ouss91 Messages postés 35 Date d'inscription dimanche 24 janvier 2021 Statut Membre Dernière intervention 20 juillet 2021 - Modifié le 24 janv. 2021 à 17:40
Ouss91 Messages postés 35 Date d'inscription dimanche 24 janvier 2021 Statut Membre Dernière intervention 20 juillet 2021 - 26 janv. 2021 à 18:06
Bonsoir à vous,

j'ai de nouveau un problème :

je dois instancier des classes puis les stocker dans un tableau, puis dans la classe ou tout ce beau monde est instancier et stocké, créer des méthodes à partir du tableau.

Voici mon code :

public class Terrain {

 public static void main(String argums[]) {  
  
  //Déclaration de la variable i
  int i;
 
  //Instanciation des classe Rectangle, Triangle, Cercle et du tableau batiments
  Rectangle r = new Rectangle(3,3);
  Triangle t = new Triangle(2,2); 
  Cercle c = new Cercle(2);
  Forme [] batiments = new Forme[i];
  batiments[0] = r;
  batiments[1] = t;
  batiments[2] = c;

  //Définition de la méthode ajouterForme() qui ajoute une nouvelle forme
  public boolean ajouterForme(){
  for ( int i=0 ; i < batiments.length ; i++){
   batiments[i]=new Forme();
   }
  }
  
  //Définition de la méthode calculerSurfaceTotale() qui calcule la surface totale occupée
  public double calculerSurfaceTotale()
  {return r.calculerSurface()+t.calculerSurface()+ c.calculerSurface();}
  
  //Définition de la méthode calculerSurfaceTotale() qui affiche la surface totale occupée
  public void afficherSurfaceTotale()
  {System.out.println("La surface totale est de "+calculerSurfaceTotale());}
 
 }
}

A la compilation, l'erreur suivante s'affiche : error: illegal start of expression
J'ai compris que c'était prsk tout ca ne devait pas être contenu dans le main apparement (a part les instanciations).

Help please :/

3 réponses

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
24 janv. 2021 à 17:44
Bonjour,

Tu ne peux pas imbriquer une méthode dans une autre.

Tes méthodes ajouterForme(), calculerSurfaceTotale() et afficherSurfaceTotale() doivent donc être déclarées avant ou après la méthode main() mais pas dedans.

Pour régler cette erreur tu peux déplacer le
}
de la ligne 32 en ligne 16 (mais il y aura d'autres erreurs qui suivront)
0