Cannot be resolved to a variable

Primkats Messages postés 1 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour a tous !
Voila j'essaye de programmer sur Processing (c'est ma première fois) le probleme est que mon programme affiche x cannot be resolved to a variable
Je crois savoir d'ou viens le problème mais pas du tout comment le résoudre
Merci :)


import javax.swing.*;
int carre=1;
int rectangle=2;
int triangle=3;
void setup(){
String forme =(String)JOptionPane.showInputDialog(null,"Quelle forme veux-tu ?","Dialog",JOptionPane.PLAIN_MESSAGE);
String reponse =(String)JOptionPane.showInputDialog(null,"Quelle forme veux-tu ?","Dialog",JOptionPane.PLAIN_MESSAGE);

int FORME = Integer.parseInt(reponse);
}

void draw(){

if(FORME == carre){

int x = 0;
String cote =(String)JOptionPane.showInputDialog(null,"Veuillez saisir la longueur x :","Dialog",JOptionPane.PLAIN_MESSAGE);

}

}

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    Si tu veux utiliser la variable FORME à l'intérieur de la méthode draw() tu dois la déclarer globalement, le faire à l'intérieur de la méthode init() n'est pas suffisant.

    Attention : tu as forme (en minuscules) et FORME
    (en majuscules), c'est très mauvais d'avoir des mélanges comme ça, il faudrait être plus rigoureux sur les noms de variables.

    import javax.swing.*;
    
    int carre=1;
    int rectangle=2;
    int triangle=3;
    int saisie; // remplace FORME, déclaré globalement
    
    void setup(){ 
        String forme = (String) JOptionPane.showInputDialog(null, "Quelle forme veux-tu ?", "Dialog", JOptionPane.PLAIN_MESSAGE); 
        String reponse =(String) JOptionPane.showInputDialog(null, "Quelle forme veux-tu ?", "Dialog", JOptionPane.PLAIN_MESSAGE); 
    
        saisie = Integer.parseInt(reponse); // on utilise la variable globale
    } 
    
    void draw(){
        if (saisie == carre){ // ici aussi ce qui fait le lien
            ...
    1