récupération de caracteres aléatoires dans un tableau
Bonjour
Je reviens vers vous pour obtenir une aide concernant mon programme.
Je possède un tableau à double dimension ne contenant que des caractères: char [] lettres={'A', 'b', 'c', 'd', 'e', 'F'}
Je demande ensuite à l'utilisateur de choisir :
* combien de b voulez vous mettre dans le tableau ?
* combien de c ?
* combien de d ?
* combien de e ?
Seulement il me faut laisser qu'un seul A et un seul F.
Du coup, je dois obtenir un nouveau tableau avec plusieurs lettres : b c d et e + un seul A + un seul F
Mais comment puis-je créer ce nouveau tableau en récupérant toutes ces valeurs char et de manière aléatoire ?
Voici le code que j'ai pour le moment :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| public static void placeAlea (char[] lettres, char[] [] tab) {
Random r=new Random();
for (int i = 0; i < tab.length; i++)
for (int j = 0; j < (tab.length)-1; j++)
tab [i] [j]=lettres[((char)Math.random())*tab.length];
}
public static void apLettres (char[] lettres) {
int nbrelettres=0;
int A=1;
int F=1;
// demande du nombre de symboles à poser
// (on laisse le choix à l'utilisateur d'en déposer certains)
System.out.println ("Combien de lettres E désirez-vous poser ?");
int E=Terminal.lireInt();
//E=Integer.parseInt(s); ??? s= ???
System.out.println ("Combien de B désirez-vous poser ?");
int B=Terminal.lireInt();
System.out.println ("Combien de C désirez-vous poser ?");
int C=Terminal.lireInt();
nbrelettres=E+B+C+A+F;
//---> Comment récupérer un nouveau tableau avec tous les symboles posés aléatoirement ?
//le nombre de lettres posé ne doit pas dépasser 50 cases (sur 72 appartenant au tableau)
if (nbrelettres >= 50)
System.out.println ("Le nombre de lettres ne doit pas dépasser un total de 50");
} |
Dans mon main, j'ai déclaré :
Code :
Code:
1 2 3 4 5
| // déclaration du plateau de jeu
char[][] tab = new char[9][8];
// déclaration des symboles à placer sur le plateau
char [] lettres= {'A', 'b' , 'c', 'd', 'e', 'F'}; |
Je vous remercie pour votre aide,
Rose