Array + Scanner, comment obtenir les valeurs?

Fermé
mckaymental - 31 oct. 2014 à 21:38
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 1 nov. 2014 à 11:39
Bonjour à tous! Je suis entrain de coder un mini programme et j'ai besoin des valeurs qui se trouvent dans une list Array que j'ai créé.
Voici mon code jusqu'à maintenant :



System.out.println("Combien avez-vous joué de parties au niveau facile? (Limite de 10) : ");
int nbfacile = input.nextInt();
while ( nbfacile < 0 || nbfacile > 10 ) {
System.out.println("Ce nombre est invalide, merci quand même!");
nbfacile = input.nextInt();
}
System.out.println("Sur ce nombre de parties, combien en avez-vous terminé? (Limite de 10) : ");
int facile_termine = input.nextInt();
while ( facile_termine < 0 || facile_termine > 10 || nbfacile < facile_termine ) {
System.out.println("Ce nombre est invalide, merci quand même!");
facile_termine = input.nextInt();
}
int partie = 1;
int list[]=new int[11];
while (facile_termine!=partie-1) {
System.out.println("En combien de minutes avez-vous terminé votre partie " +partie+"?");
list[partie] = input.nextInt();
++partie;

}



Dans ce cas précis, j'aimerais avoir accès et toutes les données qui se trouvent dans l'array "list[]".
Comment dois-je faire pour obtenir ces données?

Merci grandement! :D
A voir également:

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
31 oct. 2014 à 21:43
Bonjour,

De la même manière que tu fais
int nbfacile = input.nextInt();
puis tu utilises la valeur
nbfacile < 0 || nbfacile > 10
tu as fait pareil avec le tableau
list[partie] = input.nextInt();
donc pour utiliser la valeur tu peux faire
list[partie] < 0
.
0
Quand par exemple j'inscris : System.out.println(list[partie]), la valeur qui est indiqué est toujours 0 même si j'ai entré un autre nombre à l'aide du scanner.
Tu-as idée pourquoi?

Merci!
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
31 oct. 2014 à 21:51
0 c'est la valeur par défaut, si tu as toujours 0 c'est que tu n'as jamais affecté de valeur à la case.

Est ce que tu as le message
"En combien de minutes avez-vous terminé votre partie " +partie+"?"
qui s'affiche de temps en temps, ou jamais ?
0
Oui ce message fonctionne bien. Il s'affiche exactement le même nombre de fois que l'utilisateur entre le nombre de partie qu'il a terminé ce qui est parfait jusqu'à maintenant. Ensuite, la valeur est entré au clavier mais pour une raison que j'ignore elle n'est pas affecté à la case. :(
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
31 oct. 2014 à 22:05
Vu ton code, elle est bien affectée. Peut être t'es tu trompé dans l'affichage.
À première vue, tu ne te sers jamais de la case 0, donc sa valeur est toujours 0, il est possible que ton affichage montre toujours cette case 0 et pas celles qui sont saisies au clavier.
0
mckaymental
31 oct. 2014 à 22:33
C'est possible oui mais qu'est-ce que je devrais écrire pour avoir un bon affichage?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
31 oct. 2014 à 22:37
En pratique l'affichage se ferait avec la méthode
java.util.Arrays.toString(int[] a);

Après dans le cadre d'un exercice tu peux bien le faire comme tu veux...
0