0
votes

Comment imbriquer correctement cette instruction If

Je capture les entrées utilisateur, mais je les limite entre 1 et 100. J'ai du mal à imbriquer correctement cette instruction if. Objectif: l'utilisateur peut saisir n'importe quel montant entre 1 et 100 sinon, il met automatiquement à 0. J'imprime les résultats à la fin

    // if statement to restrict use to 1-100
    hatNumber = in.readInt("How many beaver hats would you like?: \n");
    if (hatNumber <= 0 && hatNumber > 100) {
        System.out.println("Hats = " + hatNumber);
    } else {
        hatNumber = 0;
    }
    photoNumber = in.readInt("How many photographs would you like?: \n");
    if (photoNumber <= 0 && photoNumber > 100) {
        System.out.println("Photographs = " + photoNumber);
    } else {
        photoNumber = 0;

        jarNumber = in.readInt("How many Jars of maple syrup?: \n");



    if (jarNumber <= 0 && jarNumber > 100) {
            System.out.println("Jars = " + jarNumber);

        } else {
            jarNumber = 0;
            {

                System.out.println("Hats = " + hatNumber);
                System.out.println("Photographs = " + photoNumber);
                System.out.println("Jars = " + jarNumber);


2 commentaires

Comment if (hatNumber <= 0 && hatNumber> 100) peut-il être vrai? Cela ne correspond pas non plus à votre logique de entre 1-100


Désolé, je travaille sur ce code depuis quelques heures. le cerveau est tout confus. Merci


3 Réponses :


0
votes
 if (hatNumber > 0 && hatNumber < 100) {
    System.out.println("Hats = " + hatNumber);
 }

0 commentaires

0
votes

Vous manquez une fermeture étroite sur la ligne après

photoNumber = 0;


1 commentaires

Je vois. Merci



1
votes

Tout d'abord, si vous attendez une logique "L'utilisateur peut saisir n'importe quel montant entre 1 et 100 sinon, il se met automatiquement à 0". Vous devriez changer si le cas échéant vérifier en

    hatNumber = in.readInt("How many beaver hats would you like?: \n");
    if (hatNumber > 0 && hatNumber <= 100) {
        System.out.println("Hats = " + hatNumber);
    } else {
        hatNumber = 0;
    }
    photoNumber = in.readInt("How many photographs would you like?: \n");
    if (photoNumber > 0 && photoNumber <= 100) {
        System.out.println("Photographs = " + photoNumber);
    } else {
        photoNumber = 0;
        jarNumber = in.readInt("How many Jars of maple syrup?: \n");
        if (jarNumber > 0 && jarNumber <= 100) {
            System.out.println("Jars = " + jarNumber);
        } else {
            jarNumber = 0;
        }
    }
    System.out.println("Hats = " + hatNumber);
    System.out.println("Photographs = " + photoNumber);
    System.out.println("Jars = " + jarNumber);

Le code final ressemblera à.

if (hatNumber > 0 && hatNumber <= 100) {
        System.out.println("Hats = " + hatNumber);
} else {
        hatNumber = 0;
}


0 commentaires