JAVA au secours

Bigorno -  
 Sims' -
Bonjour,
J'ai un problème en java :


Je fais appel a une fonction comme ceci

"
int choix,nbr=0;
if (choix==1)
nbr++;
Tirage();
if (choix==3)
afficheFonction();
if (choix==0)
temp=true ;
return nbr;
"
et cette fonction la,
elle est comme ceci :

"
public static void afficheFonction() {
if(nbr!=0) {
for(int i=0;i<49;i++) {
int frequence = (int)((1.0*numSortis[i]/nbr) * 100);

"

et pourtant mon "nbr" reste inconnu.. comment ça se fait?
Merci beaucoup a vous tous.
A voir également:

3 réponses

zikos_snake Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   28
 
essaie sa:
private int nbr=0;
0
Posotaz Messages postés 489 Date d'inscription   Statut Membre Dernière intervention   225
 
Salut Bigorno,

En Java tu n'as pas de fonctions, tu as des méthodes.

En Java, toute portion de code doit être incluse dans une méthode. Dans quelle méthode de quelle classe se situe la première partie du code par rapport à la méthode statique qui elle se trouve dans quelle classe ?

En Java, une méthode statique ne peut appeler que des membres statiques (nbr par exemple, devrait être déclaré statique s'il doit être accessible depuis "afficheFonction").
0
Sims'
 
Hello,

Pour compléter la réponse de Posotaz, tu devra mettre tout ton code à l'intérieur de méthode. Ensuite, une variable déclarée à l'intérieur d'une méthode, sera accessible uniquement à l'intérieur de celle-ci... par conséquent, tu devra déclarer ta variable "nbr" en tant que variable de class endehors des méthodes.

et si tu utilise des méthodes static, ta variable "nbr" devra aussi être static pour y accéder, dans cette méthode.

public class MaClass
{
          private static int nbr ; //peut être public

          public static void main(String[] args)
          {
                    //ton code de base, tu pourras également utiliser un switch case au lieu des if imbriqué...
                    
                    int choix,nbr=0; 
                    if (choix==1)
                    { 
                              nbr++; 
                              Tirage();
                    }
                     else
                              if (choix==3) 
                                        afficheFonction(); 
                              else
                                        if (choix==0) 
                                                  temp=true ; 
          }

          public static void afficheFonction()
          {
                    //le code ici de ta méthode affiche.
          }
}
0