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 :

Exercice : saisie de 4 chiffres compris entre 0 et 255


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Par défaut Exercice : saisie de 4 chiffres compris entre 0 et 255
    Bonjour, je débute en programmation et je dois réaliser le programme suivant:

    Un programme qui demande la saisie de 4 chiffres compris entre 0 et 255. Il ne doit pas être possible d’entrer d’autres valeurs dans le formulaire, que les bonnes ci-dessus.

    J'ai commencé à faire cela mais je pense pas être dans la bonne voie.


    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
    26
    27
    28
    29
    30
    31
    32
    33
    import java.util.Scanner;
     
    public class test2 {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            int nbr1, nbr2, nbr3;
            nbr1 = input.nextInt();
            nbr2 = input.nextInt();
            nbr3 = input.nextInt();
                if((nbr1>=0)&&(nbr1<=255)) {
     
                }
                else if((nbr2>=0)&&(nbr2<=255)) {
     
     
                try {
     
     
     
     
                } catch (Exception e) {
                    System.out.println("Vous devez ecrite un nombre ! ");
                }
     
     
            }
            else
            {
                System.out.println("non");
            }
     
            }
        }

  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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tu n'est pas loin de la bonne voie en tout cas. La question d'abord, c'est, s'il faut saisir quatre nombres, si tu dois effectivement les stocker dans 4 variables, ou dans une structure permettant de stocker 4 nombres, comme un tableau, une List peut-être, etc, ou ne pas les stocker du tout. Parce que si tu dois appliquer 4 fois le même code au détail d'un nom de variable différent, c'est soit faire une méthode, appelée 4 fois, soit dupliquer le code au nom de la variable près, ce qui est fastidieux et pas très intéressant même pour apprendre. A noter d'ailleurs que tu crées 3 variables dans ton code : pour traiter 4 nombres, c'est étrange...

    Ensuite, la seconde question est que faire lorsque la saisie ne correspond pas à la condition imposée ? Afficher une erreur, au quel cas ton test est une bonne approche ? Ou redemander la saisie, au quel cas, ce serait plus simple de faire la condition inverse : demander la saisie tant qu'elle n'est pas comprise entre 0 et 255.

    Enfin, si on peut faire la saisie de tout, puis tester toutes les saisies (j'aurais plutôt fait la saisie d'un nombre, vérifier la condition sur ce nombre, puis fait la saisie du deuxième nombre, puis vérifier la condition, puis continuer pareil pour le troisième, et enfin le quatrième), le if () else if n'est pas applicable dans ton cas : il faut appliquer la même condition aux quatre nombres, quelque soit le résultat de la vérification sur les autres. Dans ton extrait de code, si le premier nombre correspond à la condition, on ne teste plus rien, sinon on teste la condition sur le deuxième nombre. Que le premier nombre soit entre 0 et 255, ou pas, n'implique rien sur le fait que le deuxième nombre soit ou pas entre 0 et 255.


    En résumé ton code devrait être de la forme :


    Code pseudo code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    faire 4 fois {
        faire 
            saisie de la valeur
        tant que la condition n'est pas vérifiée pour la valeur saisie 
       // ici la valeur est saisie et conforme à la condition
    }
    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
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Par défaut
    D'abord merci pour votre réponse,

    Je pense que pour l’exerce il ne faut pas stocker les valeurs.
    "Ensuite, la seconde question est que faire lorsque la saisie ne correspond pas à la condition imposée ? Afficher une erreur, au quel cas ton test est une bonne approche ? Ou redemander la saisie, au quel cas, ce serait plus simple de faire la condition inverse : demander la saisie tant qu'elle n'est pas comprise entre 0 et 255."
    je pense que le mieux serait de redemander la saisie.

    j'ai utilisé des boucles pour le programme:

    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 test2 {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            int nbr1;
     
     
            while (nbr1 < 0 || nbr1 > 255) {
                System.out.println("Premier chiffre:");
                nbr1 = input.nextInt();
            }
     
     
            try {
     
     
            } catch (Exception e) {
                System.out.println("Vous devez ecrite un nombre ! ");
            }
     
     
        }
    }

  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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Tu ne peux pas écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int nbr1;
     
     
    while (nbr1 < 0 || nbr1 > 255) {
                System.out.println("Premier chiffre:");
                nbr1 = input.nextInt();
    }
    Car pour pouvoir être testée, une variable doit avoir une valeur, or nbr1 n'en a pas lors du premier test de la condition du while.

    Mais tu peux écrire :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int nbr1;
     
     
    do {
                System.out.println("Premier chiffre:");
                nbr1 = input.nextInt();
    } while (nbr1 < 0 || nbr1 > 255)
    Tu pourrais aussi initialiser nbr1 avec une valeur bidon qui ne valide pas la condition, mais c'est plus logique d'utiliser un do/while : on doit saisir avant de tester.

    Si tu veux afficher un message différent, tu peux utiliser une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    String question = "Premier chiffre:";
    do {
                System.out.println(question);
                nbr1 = input.nextInt();
                question = "Recommencez... le nombre n'est pas compris entre 0 et 255...";
    } while (nbr1 < 0 || nbr1 > 255)
    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.

Discussions similaires

  1. tester si un chiffre est compris entre deux
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 06/07/2007, 15h42
  2. compris entre 0 et 20 ???
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 21/10/2005, 08h30
  3. Obtenir des enregistrements compris entre 2 dates
    Par rangernoir dans le forum Access
    Réponses: 2
    Dernier message: 29/09/2005, 13h56
  4. verification de la saisie d'un chiffre
    Par star_light dans le forum C++
    Réponses: 11
    Dernier message: 07/03/2005, 00h10
  5. LIKE de tout ce qui n'est pas compris entre a<-&
    Par DjinnS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/07/2003, 13h09

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