JAVA au secours

Fermé
Bigorno - 21 janv. 2008 à 20:07
 Sims' - 22 janv. 2008 à 10:24
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 vendredi 17 février 2006 Statut Membre Dernière intervention 18 mai 2010 28
21 janv. 2008 à 21:38
essaie sa:
private int nbr=0;
0
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 225
21 janv. 2008 à 23:05
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
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