Error: illegal start of expression
Résolu
Ouss91
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
Ouss91 Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
Ouss91 Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
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 :
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 :/
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 :/
A voir également:
- Error: illegal start of expression
- Site de telechargement illegal - Accueil - Outils
- Iptv illégal - Accueil - Streaming
- IPTV illégal : après les pirates, la justice condamne maintenant les clients… jusqu'à la prison ! - Guide
- Liste site streaming illégal - Accueil - Services en ligne
- Start pxe over ipv4 - Forum Windows 10
3 réponses
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
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)
Merci KX pour ta réponse, je viens de faire ce que tu as dit (j'avais déjà fait ça) mais logiquement ilne reconnait pas les objets instanciés dans le main :/
Alors modifies tes méthodes pour leur ajouter un paramètre (le tableau) de manière à transporter tes valeurs d'une méthode à l'autre via ce paramètre.
Exemple :
Et dans ton main :
Exemple :
public static double calculerSurfaceTotale(Forme[] formes) { return ... // calcul en utilisant le paramètre 'formes' }
Et dans ton main :
Forme[] batiments = {new Rectangle(3,3), new Triangle(2,2), new Cercle(2)}; double total = calculerSurfaceTotale(batiments);
Bonsoir,
J'ai résolu le problème.
Voici les codes :
Terrain.java :
TestAppliSurface.java :
Merci à vous et notamment à KX pour votre aide :)
J'ai résolu le problème.
Voici les codes :
Terrain.java :
public class Terrain extends Forme { private static Forme[] batiments; public Terrain(Forme...bat) {batiments=bat;} public static void main(String argums[]) { //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); 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() { double surfaceTotale=0; for ( int i=0 ; i < batiments.length ; i++){ surfaceTotale=surfaceTotale+batiments[i].calculerSurface(); } return surfaceTotale; } //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());} }
TestAppliSurface.java :
public class TestAppliSurface { public static void main(String[] args) { Rectangle r=new Rectangle(4,4); Triangle t=new Triangle(2,2); Cercle c =new Cercle(2); Terrain te=new Terrain(new Rectangle(4,4), new Triangle(2,2), new Cercle(2)); System.out.println("La longueur du rectangle est de "+r.getLongueur()+" et la largeur est de "+r.getLargeur()); System.out.println("La surface du rectangle est de "+r.calculerSurface()); System.out.println("La hauteur du triangle est de "+t.getHauteur()+" et la base est de "+t.getBase()); System.out.println("La surface du triangle est de "+t.calculerSurface()); System.out.println("Le rayon du cercle est de "+c.getRayon()); System.out.println("La surface du cercle est de "+c.calculerSurface()); te.afficherSurfaceTotale(); } }
Merci à vous et notamment à KX pour votre aide :)