Tableau java

Utilisateur anonyme -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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
A voir également:

3 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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);
0
Utilisateur anonyme
 
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);
}

}
}
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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 !
0
Utilisateur anonyme
 
il faut que je la initialise à 0 alors
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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 !
0
Utilisateur anonyme
 
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.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Ç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...
0
Utilisateur anonyme
 
comment on fait
0
Utilisateur anonyme
 
il faut que je face un random pour un aléatoire là? Mais comment le faire
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
En utilisant la classe Random, ou la méthode random dans la classe Math.
0
Utilisateur anonyme
 
je fé un nombre aléatoire entre 1 et 1 000 000 ou entre 1 et 6?
0