Probleme programme java tableau
Fermé
man29du56
Messages postés
2
Date d'inscription
dimanche 4 octobre 2015
Statut
Membre
Dernière intervention
4 octobre 2015
-
4 oct. 2015 à 12:06
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 4 oct. 2015 à 16:39
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 4 oct. 2015 à 16:39
A voir également:
- Probleme programme java tableau
- Tableau croisé dynamique - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Tableau ascii - Guide
- Tableau word - Guide
1 réponse
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
4 oct. 2015 à 12:42
4 oct. 2015 à 12:42
Bonjour,
Il y a beaucoup d'erreurs dans ton programme.
1) Ta boucle
En faisant
2) carac, carac1, etc. sont lus dans la boucle, mais ne sont jamais utilisés, il y a bien l'affichage de
Remarque : pourquoi faire des copier-coller pour la lecture de chaque caractère alors que tu es dans une boucle qui permet justement de répéter cette opération ? Ici tu as 6 caractères donc c'est faisable, si tu en avais 10000 est-ce que tu ferais 10000 copier-coller ?
3) Ensuite, c'est très confus avec tes "transi", en particulier sur l'ordre :
Certes au final c'est correct, mais est-ce que c'est vraiment le plus simple de faire 5,0,4,1,3,2 et 2,1,4,3,6,5 ? Même question que tout à l'heure si au lieu d'avoir 6 tu avais 10000, comment tu ferais ?
Il faut absolument que tu travailles sur les boucles et les tableaux, et c'est le but de cet exercice. Donc pars dans l'idée qu'au lieu d'avoir 6 caractères tu peux en avoir 10000.
Remarque : pour l'instant ce que tu lis dans ta boucle ce ne sont pas des caractères mais des String, pour lire un tableau de caractères tu peux tout simplement lire un seul String (qui est déjà un tableau de caractères).
Il y a beaucoup d'erreurs dans ton programme.
1) Ta boucle
for(int i =0; i < tableauCaractere.length; i=6)est fausse.
En faisant
i=6comme incrément tu arrêtes immédiatement la boucle après le premier tour puisque
tableauCaractere.lengthvaut 6. Il faudrait plutôt avoir
for(int i =0; i < tableauCaractere.length; i++)où
i++permet d'augmenter i de 1 en 1 et donc de faire les 6 tours de boucles attendus.
2) carac, carac1, etc. sont lus dans la boucle, mais ne sont jamais utilisés, il y a bien l'affichage de
System.out.println("tab = "mais celui-ci est après la boucle, pas pendant... du coup comme ces valeurs ne sont jamais utilisées, le tableauCaractere n'est jamais rempli !
Remarque : pourquoi faire des copier-coller pour la lecture de chaque caractère alors que tu es dans une boucle qui permet justement de répéter cette opération ? Ici tu as 6 caractères donc c'est faisable, si tu en avais 10000 est-ce que tu ferais 10000 copier-coller ?
3) Ensuite, c'est très confus avec tes "transi", en particulier sur l'ordre :
tableauCaractere[5] = transi2; tableauCaractere[0] = transi; tableauCaractere[4] = transi4; tableauCaractere[1] = transi3; tableauCaractere[3] = transi6; tableauCaractere[2] = transi5;
Certes au final c'est correct, mais est-ce que c'est vraiment le plus simple de faire 5,0,4,1,3,2 et 2,1,4,3,6,5 ? Même question que tout à l'heure si au lieu d'avoir 6 tu avais 10000, comment tu ferais ?
Il faut absolument que tu travailles sur les boucles et les tableaux, et c'est le but de cet exercice. Donc pars dans l'idée qu'au lieu d'avoir 6 caractères tu peux en avoir 10000.
Remarque : pour l'instant ce que tu lis dans ta boucle ce ne sont pas des caractères mais des String, pour lire un tableau de caractères tu peux tout simplement lire un seul String (qui est déjà un tableau de caractères).
4 oct. 2015 à 16:20
public class tableauCaractere {
public static void main(String[] argument) {
char tableauCaractere[] = {' ',' ',' ',' ',' ',' '};
for(int i =0; i < tableauCaractere.length; i++)
{
Scanner sc = new Scanner(System.in);
System.out.println ("Saisir un caractere :");
String str = sc.nextLine();
char carac = str.charAt(0);
System.out.println ("tab = "+ carac );
}
System.out.print ("tab = "+ tableauCaractere[0]+tableauCaractere[1]+tableauCaractere[2]+tableauCaractere[3]+tableauCaractere[4]+tableauCaractere[5]);
}
}
4 oct. 2015 à 16:39