Tableau java

Bonjour,

J'ai fait un programme en java qui met dans un tableau en décimal le nombre de foi qu'est sortie chaque face du dé. il y a eu un million de lancer. Mais le problème c'est que je n'arrive pas à corriger mes erreurs

voici ce que j'ai fait:
public class lancer_dé {

public static void main(String[] args) {

int i, n;
int Tablecompteur[] = new int[6];

Tablecompteur = {1 , 2 , 3 , 4 , 5 , 6}; // erreur signalé

for (i=1; i<=1000000 ; i=i+1)
{
n>=1; // erreur signalé
n<=6; // erreur signalé
Tablecompteur[n-1] = Tablecompteur[n-1]+1;
}
for (i=0; i<=5; i=i+1)
{
System.out.println((float Tablecompteur[i])/1000000); // erreur signalé au niveau du float
}

}
}

Merci de votre aide

3 réponses

  1. Modérateur
    Tu ne peux pas faire de remplissage {1 , 2 , 3 , 4 , 5 , 6} n'importe quand, c'est uniquement à la création que tu peux faire ça, en remplacement du new int[6] :

    int Tablecompteur[] = {1 , 2 , 3 , 4 , 5 , 6};
    Cependant je doutes qu'une telle initialisation corresponde à tes besoins.

    n>=1 est un test (idem pour n<=6), il doit donc être récupéré dans une variable booléene, ou dans une structure conditionnelle (if, while, etc.) mais tout seul ça n'a aucun sens, c'est donc faux.

    Pour le (float Tablecompteur[i]), tes parenthèses sont mal placées, il faut que le type soit totalement entre parenthèses pour faire un cast :

    System.out.println((float) Tablecompteur[0]/1000000);
    1. J'ai fait sa il me dit une erreur pour n: The local variable n may not have been initialized

      public class lancer_dé {

      public static void main(String[] args) {

      int i;
      int n;
      int Tablecompteur[] = {1, 2, 3, 4, 5, 6};

      for (i=1; i<=1000000 ; i=i+1)
      {
      if (n>= 1 || n<=6)
      {
      Tablecompteur[n-1] = Tablecompteur[n-1]+1;
      }
      }
      for (i=0; i<=5; i=i+1)
      {
      System.out.println((float) Tablecompteur[i]/1000000);
      }

      }
      }
      1. Modérateur
        En effet, la variable "n" n'a aucune valeur, il est donc impossible qu'elle soit entre 1 et 6, ni la première fois, ni les 999999 fois suivantes !
      2. il faut que je la initialise à 0 alors
      3. Modérateur
        Si tu mets 0, tu ne rentreras jamais dans ton if, donc ton tableau ne sert à rien, pas plus que ton million de calculs... Il faudra peut-être réfléchir à ce que tu veux faire et comment le mettre en place !
    2. Je veux faire un programme qui simule l'expérience aléatoire qui consiste à lancer un million de fois un dé équilibré dont les faces sont numérotées de 1 à 6 et qui affiche la fréquence d'apparition de chaque
      numéro.
      1. Modérateur
        Ça j'ai bien compris, cependant dans ton code, jamais tu ne lances de dés, tu n'as pas du tout d'aléatoire, il faudrait peut-être le mettre en place avant de faire un million de calculs qui ne correspondent pas du tout à ce que tu veux faire...
      2. comment on fait
      3. il faut que je face un random pour un aléatoire là? Mais comment le faire
      4. Modérateur
        En utilisant la classe Random, ou la méthode random dans la classe Math.
      5. je fé un nombre aléatoire entre 1 et 1 000 000 ou entre 1 et 6?