Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide pour une boucle For (basique)

Sujet résolu
    11 octobre 2011 à 12:10:47

    Bonjour à tous et toutes,

    Je débute en Java, grâce à l'aide de ce site. Et je m'entraine sur NetBeans. Ceci dit j'ai un petit problème, j'espère que vous pourrez m'éclairer.

    J'aimerai dans un exercice que je me suis fixer, faire une boucle FOR allant de 0 à un nombre entier entré au clavier auparavant. Donc faire la boucle x fois: x étant le nombre entré au clavier.

    Mais je n'y arrive pas, comment puis je spécifié mon for pour le dire que mon compteur dois allé de 0 à cette variable x entré au clavier ?

    Je vous remercie d'avance.

    Excellente journée.

    • Partager sur Facebook
    • Partager sur Twitter
      11 octobre 2011 à 16:35:53

      La question c'est comment obtenir la variable au clavier ?

      Car une fois que c'est fait, il ne reste plus qu'à faire un
      for(int i = 0 ; i < x ; i++)
      • Partager sur Facebook
      • Partager sur Twitter
        11 octobre 2011 à 17:23:04

        Bonjour,

        et merci pour votre réponse, je devrai sans doute coller mon code ca serait plus facile, je pourrai le faire plus tard car là je suis a mon travail.

        En fait dans mon exercice, je veux entrer une suite de nombre entier, par exemple 5 nombres (ex: 5,10,8,1,9). Mon programme va d'abord me demander combien de nombre je veux entrer, donc ici 5 nombres. Je tape 5. Puis ensuite, il va me demander 1 par 1 les 5 nombres que je veux entrer et je n'arrive pas a ce que ma boucle se face 5 fois. 5 étant un nombre au hasard. C'est donc ma variable.

        Je crois que j'ai utilisé le même code que vous en sachant que x est la variable mais çà n'a pas fonctionné.

        Je me demandais aussi pourquoi on met un int avant le i (pour dire entier mais est on obligé de le mettre ?)

        Je vous remercie encore pour votre réponse.

        Cordialement,
        • Partager sur Facebook
        • Partager sur Twitter
          11 octobre 2011 à 18:36:57

          Un code très très simple : :)

          import java.util.Scanner;
          
          public class Main
          {	
          	public static void main(String[] args)
          	{
          		Scanner lire = new Scanner(System.in);
          		boolean continuer = true;
          
          		while (continuer)
          		{
          		   System.out.println("Combien de nombres voulez vous ? (Maximum : 10)");
          		   int nombreDeNombres = lire.nextInt();
          		   int nombres[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
          		   
          		   for (int i = 0; i < nombreDeNombres; i++)
          		   {
          		      System.out.println("Ecrivez un nombre :");
          		      nombres[i] = lire.nextInt();
          		   }
          
          		   continuer = false;
          		}
          		
          		System.out.println("Terminé !");
          	}
          }
          
          • Partager sur Facebook
          • Partager sur Twitter
            12 octobre 2011 à 8:40:45

            Bonjour,

            Merci pour votre réponse, mon écriture n'est pas aussi élaboré mais j'ai pu trouver ce qu'il me fallait donc grâce à vous j'ai réussis. Peut être il y a des améliorations possible (sans doute même) mais il fonctionne très bien :D

            Merci pour votre aide :):)

            Je colle ci dessous mon code (si ça peut aider quelqu'un)
            PS : J'utilise une librairie pour certain terme non assimilé encore comme Clavier.LireEntier mais vous devinerez facilement à quoi il corresponde :

            int effectif; // L'effectif de la série
                    int nombre; // Le nombre lu au clavier
            
            //2) Résultats
            
                    int max; // Le nombre maximum de la série
                    int min; // Le nombre minimum de la série
            
            //3) Données modifiées
            
                    int compteur; // Le compteur d'itération
            
            //4) Données de travail
            
                    int born_min = 0;
                    int born_max = 20;
            
            //B) Traitement
            
            // Saisie des données
            
                    effectif = Clavier.LireEntier("Combien de nombre voulez vous entrer ?");
            
            // Calculs
            
                    max = born_min;
                    min = born_max;
                    for (compteur = 0; compteur < effectif; compteur++) {
                        nombre = Clavier.LireEntier("Entrer un nombre : ");
                        if (nombre > max && nombre <= min)  {
                            max = nombre;
                        }
                    }
            
            
                    Ecran.Afficher("Le nombre maximum entré est : " + max);
            
                }
            }
            
            • Partager sur Facebook
            • Partager sur Twitter
              12 octobre 2011 à 9:58:24

              Sinon pour récupérer le maximum (respectivement le minimum) de deux nombres, tu peux aussi utiliser les méthodes préexistantes dans la classe Math.
              On a Math.max(double a,double b) pour le maximum et Math.min(double a,double b) pour le minimum ;)
              • Partager sur Facebook
              • Partager sur Twitter
                12 octobre 2011 à 10:27:47

                Syca, comment ton nombre peut il à la fois être plus grand que le maximum et plus petit que le minimum ?
                • Partager sur Facebook
                • Partager sur Twitter
                  12 octobre 2011 à 14:45:45

                  Citation : Agbeladem

                  Syca, comment ton nombre peut il à la fois être plus grand que le maximum et plus petit que le minimum ?



                  +1

                  Au lieu de ça :

                  if (nombre > max && nombre <= min)  {
                                  max = nombre;
                              }
                  


                  Faire :

                  if (nombre > max || nombre <= min)  {
                                  max = nombre;
                              }
                  


                  Bonne chance pour la suite ! :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    13 octobre 2011 à 4:00:22

                    Citation : lolteur

                    Citation : Agbeladem

                    Syca, comment ton nombre peut il à la fois être plus grand que le maximum et plus petit que le minimum ?


                    +1



                    Vous faites fausse route, relisez son code. Dans son code, max = borne_min et min = borne_max (logique, quand tu nous tiens...). Donc il n'y a pas de problèmes de ce côté.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      13 octobre 2011 à 22:52:31

                      Bonsoir,

                      Merci pour vos participations à mon sujet, n'oubliez pas que je débute :). En tout cas je suis content d'être tombé sur ce forum, j'espère qu'un jour a mon tour je pourrai en aider d'autres.



                      Bonne soirée.
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Aide pour une boucle For (basique)

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown