Bonjour à tous;
SVP j'ai un problème qui me bloque totalement et donc je ne peux pas avancer.
J'ai une classe Combinaison2 qui contient :
1)une méthode boucle dont de type de retour est un tableau de String tch.
2) la méthode main qui appelle la fonction boucle.
au niveau de la méthode boucle je n'ai pas de problème.Seulement que lorsque je l'appelle dans main je n'aurais aucun affichage.je crée un tableau A de type String qui récupère le résultat de la méthode boucle.Mais lorsque j'affiche ce tableau A je n'aurais aucun résultat.Voila mon code pour plus de détaille.
import java.util.BitSet;
public class Combinaison2 {
public static int nbElements = 4;
public static int nbUn = 2;
public static int r=facto(nbElements)/(facto(nbUn)*facto(nbElements-nbUn));
public static void main(String[] args) {
String []a=new String[r];
BitSet idxs=new BitSet();
a=boucle(nbUn,0,nbElements, idxs);
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
}
public static int facto(int n) {
int fact = 1;
for (int i=1; i<=n; i++) {
fact = fact * i;
}
return fact;
}
public static String [] boucle(int nbUn, int debut, int nbElements, BitSet idxs) {
int j=0;
int nb=0;
int w=0;
int z=0;
BitSet []tab=new BitSet[r];
if(nbUn > 0) {
for(int i = debut; i < nbElements; i++) {
idxs.set(i);
boucle(nbUn-1, i+1, nbElements, idxs);
idxs.clear(i);
}
}
else {
tab[j]=idxs;
j++;
}
for(int i=0;i<r;i++)
{
if(tab[i]!=null)
nb++;
}
BitSet []tab2=new BitSet[nb];
while ((z<tab.length)&&(w<nb))
{
if(tab[z]!=null){
tab2[w]=tab[z];
w++;
}
z++;
}
/*for(int i=0;i<nb;i++)
System.out.println(tab2[i]);*/
String []tch=new String[nb];
for(int i=0;i<tab2.length;i++){
tch[i]=tab2[i].toString();
}
return tch;
}
}
SVP j'ai vraiment besoin de votre aide