Problème en Java

Kakulukiam Messages postés 34 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

J'essais de passer un tableau (laCombinaison) en paramètre dans le module CreerCombinaisonGagnante pour ensuite le remplir, le retourner et m'en servir, mais quand il retourne, toute les cellules se remette à 0 et je ne comprend pas pourquoi...

private void btnTirerCombinaisonsActionPerformed(java.awt.event.ActionEvent evt) {
String lsZero = "0";
int[] laCombinaison;
laCombinaison = new int[7];

txaAffichage.setText ("");
CreerCombinaisonGagnante(laCombinaison);
lblCombinaisonGagnante.setText(String.valueOf(laCombinaison[0]) + lsZero.substring(0,2-String.valueOf(laCombinaison[0]).length()));
lblComplementaire.setText("(" + String.valueOf(laCombinaison[6]) + ")");
}

public int[] CreerCombinaisonGagnante(int[] paCombinaison) {
int liLower = 1;
int liHigher = 50;
int liRandom;

paCombinaison = new int[7];
for (int liI = 0; liI <= 6; liI++)
{
liRandom = (int)(Math.random() * (liHigher - liLower)) + liLower;
for (int liJ = 0; liJ <= 5; liJ++)
{
if (liRandom == paCombinaison[liJ])
{
liI = liI - 1;
liJ = 5;
}
if (liI == 6)
{
paCombinaison[liI] = liRandom;
}
}
paCombinaison[liI] = liRandom;
}
return paCombinaison;
}
A voir également:

1 réponse

KX Messages postés 19031 Statut Modérateur 3 020
 
Quand tu fais paCombinaison = new int[7]; tu effaces la valeur précédente de paCombinaison, ton paramètre ne sers donc à rien, ton tableau est réinitialisé à 0.
1
Kakulukiam Messages postés 34 Statut Membre 1
 
Même si je ne comprend pas la logique derrière ca, tu as raison et ca fonctionne. :)
Mais pourquoi ca le renvoi vide puisque je le rempli apres la réinitialisé?
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Je n'ai pas testé (je n'ai pas le code complet), mais le fait que tu ne récupères pas le tableau résultat rentre certainement en compte dans le résultat que tu as :

int[] laCombinaison = CreerCombinaisonGagnante(); 

public int[] CreerCombinaisonGagnante()  
{   
	int[] paCombinaison = new int[7]; 
	//...
	return paCombinaison;
}
La confiance n'exclut pas le contrôle
0
Kakulukiam Messages postés 34 Statut Membre 1
 
je suis trop débutant pour comprendre ce que tu viens de me dire :S
0
KX Messages postés 19031 Statut Modérateur 3 020 > Kakulukiam Messages postés 34 Statut Membre
 
Tu as un résultat int[] que tu donnes avec le return, mais tu ne t'en sers pas dans ton code (tu ne le récupères pas) donc le calcul ne te sers à rien ! laCombinaison par rapport à CreerCombinaisonGagnante ce n'est pas son paramètre, mais son résultat !
0
Kakulukiam Messages postés 34 Statut Membre 1 > Kakulukiam Messages postés 34 Statut Membre
 
Donc cest comme si javais deux parametre différents et jai renvoyé le mauvais?
0