Array + Scanner, comment obtenir les valeurs?

mckaymental -  
KX Messages postés 19031 Statut Modérateur -
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

2 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    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
  2. mckaymental
     
    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
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      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
    2. mckaymental
       
      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
    3. KX Messages postés 19031 Statut Modérateur 3 020
       
      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
    4. mckaymental
       
      C'est possible oui mais qu'est-ce que je devrais écrire pour avoir un bon affichage?
      0
    5. KX Messages postés 19031 Statut Modérateur 3 020
       
      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