Cannot be resolved to a variable

Fermé
Primkats Messages postés 1 Date d'inscription jeudi 11 mai 2017 Statut Membre Dernière intervention 11 mai 2017 - Modifié le 11 mai 2017 à 20:32
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 11 mai 2017 à 23:36
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);

}

}
A voir également:

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
11 mai 2017 à 23:36
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