IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

execution incorrecte aucune idée de la raison


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Etudiant première année informatique de gestion
    Inscrit en
    Septembre 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant première année informatique de gestion

    Informations forums :
    Inscription : Septembre 2019
    Messages : 20
    Points : 15
    Points
    15
    Par défaut execution incorrecte aucune idée de la raison
    Je souhaiterai que les nombres negatifs s'affichent à la fin et non pas après détection d'un nombre négatif directement. Comment modifier mon code ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    class NombreNegatifsParmi5 {
     
       public static java.util.Scanner scanner = new java.util.Scanner(System.in);
     
       public static void main(String[] args) {
     
          int somme = 0;
     
          for(int i = 1; i<5; i++){
             System.out.print("Veuillez entrer l'entier : ");
             int entier = scanner.nextInt();
             somme = somme + entier;
     
             if(entier <=0){
                System.out.println("Nombre d'entiers negatifs : " + entier);
             }  
          }
       }
    }

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Pour faire ça, tu n'as pas d'autres choix que de les stocker dans une structure intermédiaire que tu parcourras à la fin. Un tableau par exemple.

    Tu peux aussi les compter dans la boucle, et ne faire l'affichage à la fin en le sortant de la boucle, mais tu ne pourras pas afficher chaque nombre négatif.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    int somme = 0;
     
          int nombrenegatif=0;
          for(int i = 1; i<5; i++){
             System.out.print("Veuillez entrer l'entier : ");
             int entier = scanner.nextInt();
             somme = somme + entier;
             if(entier <0){
                 nombrenegatif++;
             }  
          }
          if(nombrenegatif>0){
                System.out.println("Nombre d'entiers negatifs : " + nombrenegatif);
          }

    Tu peux éventuellement faire le mix des deux en stockant uniquement les nombres négatifs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    int somme = 0;
     
          int indexnombrenegatif=0;
          int[] nombrenegatif=new int[5];
          for(int i = 1; i<5; i++){
             System.out.print("Veuillez entrer l'entier : ");
             int entier = scanner.nextInt();
             somme = somme + entier;
             if(entier <0){
                 nombrenegatif[indexnombrenegatif++]=entier;
             }  
          }
             if(indexnombrenegatif>0){
                System.out.println("Nombre d'entiers negatifs : " + indexnombrenegatif);
                for(int i=0;i<indexnombrenegatif;i++) {
                    System.out.println(nombrenegatif[i]);
                }
             }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Etudiant première année informatique de gestion
    Inscrit en
    Septembre 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant première année informatique de gestion

    Informations forums :
    Inscription : Septembre 2019
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Ok et savez vous me dire quelle est la difference entre des if et des if imbriqués ? Quelle changement cela fait-il à l'affichage?

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par imnamn Voir le message
    Comment faire ça ?
    A part pour le premier cas, je t'ai indiqué le code... Pour le premier, tu crées un tableau de taille 5, tu stockes les entiers au fur et à mesure de la saisie à l'index i. Après la boucle, tu le parcours pour compter le nombre d'entiers négatifs et les afficher (compter : une variable initialisée à 0 et incrémentée dans le test de négativité (au passage, 0 n'est pas un nombre négatif)). Toutes les pistes pour le faire sont dans les deux exemples de mon précédent message.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par imnamn Voir le message
    Ok et savez vous me dire quelle est la difference entre des if et des if imbriqués ? Quelle changement cela fait-il à l'affichage?
    Il n'y a pas vraiment de différence. Un if est un if. Cela fait un test. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( variable>0 ) {
        // ici le code est exécuté seulement si variable est supérieure à 0
    }
    On parle de if imbriqué lorsqu'on a un if dans un if. Il s'applique dont uniquement lorsque le bloc du if au-dessus s'exécute, et dans les conditions validées par ce if (qui restent forcément vraies dans le bloc) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ( variable>0 ) {
        // ici le code est exécuté seulement si variable est supérieure à 0
        if ( variable<100 ) {
             // ici le code est exécuté seulement si variable est inférieur à 100 et supérieure à 0
        }
        else {
            // ici le code est exécuté seulement si variable est supérieure ou égale à 100
        }
    }
    En d'autres termes les conditions se cumulent avec un ET logique (opérateur &&). On aurait pu aussi écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ( variable>0 && variable<100) {
             // ici le code est exécuté seulement si variable est inférieur à 100 et supérieure à 0
    }
    else if ( variable>0 ) {
            // ici le code est exécuté seulement si variable est supérieure ou égale à 100 (implicitement pas < 100 et explicitement > 0)
    }
    Les if impriqués permettent donc juste de simplifier l'écriture des conditions, en particulier en évitant d'écrire deux fois une même condition (ici variable>0). Mais l'ordre compte, surtout avec plusieurs else if.
    S'il y a beaucoup de conditions à tester, cela facilite grandement le travail intellectuel d'articuler des ifs imbriqués sur plusieurs niveaux, plutôt que de trouver le bon ordre et les bonnes combinaisons logiques.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre à l'essai
    Femme Profil pro
    Etudiant première année informatique de gestion
    Inscrit en
    Septembre 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant première année informatique de gestion

    Informations forums :
    Inscription : Septembre 2019
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 20/03/2009, 16h06
  2. code incorrecte (macros)
    Par nadia123456 dans le forum VBA Access
    Réponses: 1
    Dernier message: 11/09/2008, 13h21
  3. aucune idée sur menu a droite
    Par minooo dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 02/11/2007, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo