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 :

cote max cote min


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 10
    Points : 11
    Points
    11
    Par défaut cote max cote min
    Bonjour,
    J'essaye d'afficher la cote min mais je n'y arrive pas. J'ai essayé plein de combinaisons pour min mais je n'ai pas réussi à trouver. Merci de votre aide


    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
    20
    21
    22
    23
    import java.util.Scanner;
     
    public class ExamenMinMaxMoyenne {
       public static Scanner scanner = new Scanner(System.in);
       public static void main(String[] args) {
     
          int max = 0, min = 0, moyenne = 0;
          for (int i=1; i<=5; i++){
             System.out.println("la cote numero" + i);
             int cote = scanner.nextInt();
             if (cote>max){
                max = min;
                max = cote;
             }else{
                if (cote<min){
                   min=cote;
     
                }
             }
          }
          System.out.println("la cote plus eleve est "+ max + ", " +"la cote la plus basses est "+ min);
       }
    }

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Tu fais d'abord un if (cote>max) et seulement si ce n'est pas le cas tu fais if (cote<min)
    du coup le min ne se calcule que si cote<=max ce qui est une erreur de raisonnement.
    Tu dois séparer les deux calculs car ils sont indépendants :
    • si cote>max alors max = cote
    • si cote<min alors min = cote

    Comme cela l'un ne dépend pas de l'autre
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    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
    20
    21
    22
    23
    24
    import java.util.Scanner;
    public class Deuxcote {
       public static Scanner scanner = new Scanner(System.in);
     
     
       public static void main(String[] args) {
          int max = Integer.MAX_VALUE;
          int min = Integer.MIN_VALUE;
                for (int i=1; i<=5; i++){
             System.out.println("La cote numéro " + i);
             int cote = scanner.nextInt();
             if (cote<max){
     
                max = cote; 
             }else{
                if (cote>min){
                   min = cote;
                }
             }
          }
          System.out.println(max + ", " + min);
     
       }	
       }
    voici mon nouveau code là tout est correct sauf un truc le min m'affiche le max et le max m'affiche le min pourquoi ??? j'ai envie de pleurer

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    j'ai envie de pleurer
    Ben il y a de quoi !
    Je t'ai expliqué que tu ne dois pas faire dépendre l'un de l'autre ce que tu persistes à faire.
    Tu dois relire attentivement ce que j'ai écris dans le 1er post.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  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 projavalol Voir le message
    le min m'affiche le max et le max m'affiche le min pourquoi ???
    Citation Envoyé par Népomucène Voir le message
    Je t'ai expliqué que tu ne dois pas faire dépendre l'un de l'autre ce que tu persistes à faire.
    Pas seulement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int max = Integer.MAX_VALUE; // le max est dès le départ la valeur la plus grande possible, avant même qu'on ait saisit quoique ce soit : pas normal.
    
    [...]
    if (cote<max){ // si max devient cote quand cote est plus petit que max, alors max risque de devenir de de plus en plus petit : pas normal.
     
                max = cote; 
             }
    Citation Envoyé par projavalol Voir le message
    le min m'affiche le max et le max m'affiche le min pourquoi ???
    le fait que ça fasse l'inverse de ce que tu veux faire est une piste (Et ce que je t'ai dit dans l'autre post aussi !). A la limite, une solution bidon (en plus de virer ce satané else) serait d'interchanger les noms des variables (mais ça ne te permettrait pas de comprendre où se trouvent les erreurs de logique dans le programme).
    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
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    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
    20
    21
    22
    23
    24
    25
    import java.util.Scanner;
    public class Deuxcote {
       public static Scanner scanner = new Scanner(System.in);
     
     
       public static void main(String[] args) {
          int min = Integer.MAX_VALUE;
          int max = Integer.MIN_VALUE;
                for (int i=1; i<=5; i++){
             System.out.println("La cote numéro " + i);
             int cote = scanner.nextInt();
             if (cote>max){
                max = cote; 
             }
     
             {
                if (cote<min){
                   min = cote;
                }
             }
          }
          System.out.println(max + ", " + min);
     
       }	
       }
    J'ai trouvé l'erreur. Un grand merci. J'ai compris pour le else mais pas pour le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int min = Integer.MAX_VALUE;   int max = Integer.MIN_VALUE;
    Pourquoi min doit être MAX_VALUE ?
    En tout cas je suis trop content j'y suis arrivé même si j'ai reçu un peu d'aide.

  7. #7
    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 projavalol Voir le message
    pourquoi min doit etre MAX_VALUE
    La programmation c'est comme le calcul. Avant de savoir faire une racine carré de tête, ou même une addition, on commence par apprendre à le faire sur du papier, par écrit.
    Avant de pouvoir comprendre pourquoi un programme fait ci ou fait ça de tête, on déroule le programme par écrit sur du papier, pas à pas.

    Si tu veux saisir, mettons, 10, 42, 5, 23 puis 53, et que tu veux obtenir 5, le plus petit nombre saisi, il faut que le programme fasse :
    1. if ( saisie=10 < min=quelquechose ) vrai donc min devient 10
    2. if ( saisie=42 < min=10 ) faux
    3. if ( saisie=5 < min=10 ) vrai donc min devient 5
    4. if ( saisie=23 < min=5 ) faux
    5. if ( saisie=53 < min=5 ) faux
    6. Et à la fin on peut afficher que min = 5


    Donc il faut affecter à quelquechose une valeur telle que ce qui est à gauche du < soit inférieur à ce qui est à droite : c'est ce qu'on peut voir sur toute les lignes de 2 à 5 et ça doit être aussi le cas pour la ligne 1.
    Comme saisie est saisit au clavier, il peut avoir n'importe quelle valeur, dans les possibilités qu'offre un int en Java :
    Integer.MIN_VALUE <= saisie <= Integer.MAX_VALUE. Donc il faut que quelquechose prenne une valeur pour que saisie < min soit forcément vrai afin que min prenne bien la la valeur de saisie. Quelle est la valeur int pour laquelle saisie soit toujours inférieur à cette valeur : la plus grande possible. Donc MAX_VALUE.
    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.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Je te remercie vraiment pour cette explication et d'avoir pris ton temps pour m'expliquer. Ça devient super clair dans ma tête.
    Et merci aux autres personnes également

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

Discussions similaires

  1. Utilisation Max et Min
    Par Poseidon62 dans le forum Ada
    Réponses: 5
    Dernier message: 22/11/2006, 09h44
  2. controle CEdit numerique avec max et min
    Par AlfredKr dans le forum Visual C++
    Réponses: 5
    Dernier message: 20/07/2006, 16h02
  3. Cote double cote
    Par mpat dans le forum ASP
    Réponses: 9
    Dernier message: 06/09/2005, 10h29
  4. ranger trois tableaux cote a cote
    Par Art19 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/07/2005, 11h58
  5. [HTML] Tableaux cote a cote
    Par sg-40 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 08/06/2005, 13h30

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