jeudi 6 février 2020

if statement not working after exiting while statement

So after exiting my loop my last if statement doesn't resolve for some reason it might just be a stupid error but I cant seem to find it.

here is the code in question. i removed a part of it that was just text to make the code a shorter.

public class Prototype_SAAQ {
    public static void main(String[] args) {
        char sex;
        int nbHommes;
        int nbFemmes;
        int ageFemmes;
        int ageHommes;
        int ageMoyenHomme;
        int ageMoyenFemme;
        char options;
        int vitesseMax;
        int vitesseRadar;
        int vitesseTotal;
        int totalPoints;
        int nbInfractions;

        System.out.println("Ce programme est un PROTOTYPE pour la gestion des infractions du code de la route");
        System.out.println("OPTION");
        System.out.println("s/S - Exces de vitesse dans une zone de 60km/h ou moins");
        System.out.println("z/Z - Depassements successifs en zigzag ");
        System.out.println("t/T - Conduite en faisant usage d'un appareil muni d'une fonction telephonique");
        System.out.println("c/C - Conduite pour un pari, un enjeu ou une course");
        System.out.println("d/D - Distance imprudente entre les vehicules");
        System.out.println("q/Q - Quitter le programme");
        System.out.println("Entrez votre choix: ");
        options = Clavier.lireChar();

        totalPoints = 0;
        nbHommes = 0;
        nbFemmes = 0;
        ageMoyenHomme = 0;
        ageMoyenFemme = 0;
        nbInfractions = 0;
        while (options != ('q') || options != ('Q')) {
            if (options == ('s') || options == ('S')) {

                System.out.println("OPTION");
                System.out.println("s/S - Exces de vitesse dans une zone de 60km/h ou moins");
                System.out.println("z/Z - Depassements successifs en zigzag");
                System.out.println("t/T - Conduite en faisant usage d'un appareil muni d'une fonction telephonique");
                System.out.println("c/C - Conduite pour un pari, un enjeu ou une course");
                System.out.println("d/D - Distance imprudente entre les vehicules");
                System.out.println("q/Q - Quitter le programme");
                System.out.println("Entrez votre choix: ");
                options = Clavier.lireChar();
            }
            if (options == ('z') || options == ('Z')) {
                System.out.println("Depassements successifs en zigzag");
                System.out.println("OPTION");
                System.out.println("s/S - Exces de vitesse dans une zone de 60km/h ou moins");
                System.out.println("z/Z - Depassements successifs en zigzag");
                System.out.println("t/T - Conduite en faisant usage d'un appareil muni d'une fonction telephonique");
                System.out.println("c/C - Conduite pour un pari, un enjeu ou une course");
                System.out.println("d/D - Distance imprudente entre les vehicules");
                System.out.println("q/Q - Quitter le programme");
                System.out.println("Entrez votre choix: ");
                options = Clavier.lireChar();
            }
            if (options == ('t') || options == ('T')) {
                System.out.println("Conduite en faisant usage d'un appareil muni d'une fonction téléphonique");
                System.out.println("OPTION");
                System.out.println("s/S - Exces de vitesse dans une zone de 60km/h ou moins");
                System.out.println("z/Z - Depassements successifs en zigzag");
                System.out.println("t/T - Conduite en faisant usage d'un appareil muni d'une fonction telephonique");
                System.out.println("c/C - Conduite pour un pari, un enjeu ou une course");
                System.out.println("d/D - Distance imprudente entre les vehicules");
                System.out.println("q/Q - Quitter le programme");
                System.out.println("Entrez votre choix: ");
                options = Clavier.lireChar();
            }
            if (options == ('c') || options == ('C')) {
                System.out.println("Conduite pour un pari, un enjeu ou une course");
                System.out.println("OPTION");
                System.out.println("s/S - Exces de vitesse dans une zone de 60km/h ou moins");
                System.out.println("z/Z - Depassements successifs en zigzag");
                System.out.println("t/T - Conduite en faisant usage d'un appareil muni d'une fonction telephonique");
                System.out.println("c/C - Conduite pour un pari, un enjeu ou une course");
                System.out.println("d/D - Distance imprudente entre les vehicules");
                System.out.println("q/Q - Quitter le programme");
                System.out.println("Entrez votre choix: ");
                options = Clavier.lireChar();
            }
            if (options == ('d') || options == ('D')) {
                System.out.println("Distance imprudente entre les vehicules");
                System.out.println("OPTION");
                System.out.println("s/S - Exces de vitesse dans une zone de 60km/h ou moins");
                System.out.println("z/Z - Depassements successifs en zigzag");
                System.out.println("t/T - Conduite en faisant usage d'un appareil muni d'une fonction telephonique");
                System.out.println("c/C - Conduite pour un pari, un enjeu ou une course");
                System.out.println("d/D - Distance imprudente entre les vehicules");
                System.out.println("q/Q - Quitter le programme");
                System.out.println("Entrez votre choix: ");
                options = Clavier.lireChar();
            }
        }
        if (options == ('q') || options == ('Q')) {
            System.out.println("Nombres d'infractions: " + nbInfractions);
        }
    }
}

Aucun commentaire:

Enregistrer un commentaire