Erreur else without if

small44 Messages postés 5 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
je recois une erreur de compilation else without if je sais pas ou est l'erreur

«voici la partie ou il y'a le probleme

if  (choixAnnimaux==1) {
 do {
 System.out.println("Entrer le nouveau inventaire de lion");
 nnbLion = monClavier.nextInt;}
 while (nnbLion>0 && nnLion<100); 
 nbLion = nbLion+nnbLion;}

 else if (choixAnnimaux==2) {
 do {
 System.out.println("Entrer le nouveau inventaire de tigre");
 nnbTigre = monClavier.nextint;}
 while (nnbTigre>0 && nnbTigre<100);}
 nbTigre = nbTigre+nnb;}
 
   else if (choixAnnimaux==3) {
 do {
 System.out.println("Entrer le nouveau inventaire de lapin");
 nnbLapin = monClavier.nextint;}
 while (nnbLapin>0 && nnbLapin<100);}
 nbLapin = nbLapin+nnbLapin;}
 
  else if (choixAnnimaux==4) {
 do {
 System.out.println("Entrer le nouveau inventaire de girafe");
 nnbGirafe = monClavier.nextint;}
 while (nnbGirafe>0 && nnbGirafe<100);}
 nbGirafe = nbGirafe+nnbGirafe;}
 
 else if (choixAnnimaux==5) {
 do {
 System.out.println("Entrer le nouveau inventaire de bison");
 nnbBison = monClavier.nextint;}
 while (nnbBison>0 && nnbBison<100);}
 nbBison = nbBison+nnbBison;}
 
 else if (choixAnnimaux==6) {
 do {
 System.out.println("Entrer le nouveau inventaire de l'elephant");
 nnbElephant = monClavier.nextint;}
 while(nnbElephant>0 && nnbElephant<100);}
 nbElephant = nbElephant+nnbElephant; }
 
 else if (choixAnnimaux==7) {
 do {
 System.out.println("Entrer le nouveau inventaire de tatou");
 nnbTatou = monClavier.nextint;}
 while (nnbTatou>0 && nnbTatou<100);}
 nbTatou = nbTatou+nnbTatou;}
 
 else if (choixAnnimaux==8) {
 do {
 System.out.println("Entrer le nouveau inventaire de lemur");
 nnbLemur = monClavier.nextint;}
 while(nnblemur>0 && nnbLemur<100);}
 nbLemur = nbLemur+nnbLemur;}
 
 else if (choixAnnimaux==9) {
 do{
 System.out.println("Entrer le nouveau inventaire de taupe");
 nnbTaupe = monClavier.nextint;}
 while(nnbTaupe>0 && nnbTaupe<100);}
 nbTaupe = nbTaupe+nnbTaupe; }
 
else if (choixAnnimaux==10) {
do {
System.out.println("Entrer le nouveau inventaire de rat");
nnbRat = monClavier.nextint;}
while (nnbRat>0 && nnbRat<100);}
nbRat = nbRat+nnbRat;}

else if (choixAnnimaux==11) {
do {
System.out.println("Entrer le nouveau inventaire de chimpanze");
nnbChimpanze = monClavier.nextint;}
while(nnbChimpanze>0 && nnChimpanze<100);}
nbChimpanze = nbChimpanze+nnbChimpanze; }

else if (choixAnnimaux==12) {
do{
System.out.println("Entrer le nouveau inventaire de gorille");
nnbGorille = monClavier.nextint;}
while (nnbGorille<0 && nnbGorille>100);}
nbGorille = nbGorille+nnbGorille;
   }  


2 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Est-ce que tu as déjà entendu parler :
    1) des switch ?
    2) des fonctions ?

    public class Test1
    {
    public static final Scanner monClavier = new Scanner(System.in);
    
    public static int nouveauInventaire(String animal)
    {
        int val;
        
        do
        {
            System.out.println("Entrer le nouveau inventaire de "+animal);
            val = monClavier.nextInt();
        }
        while (val>0 && val<100); 
        
        return val;
    }
    
    public static void main(String[] args)
    {
        int nbLion = 0, nbTigre = 0, nbLapin = 0, nbGirafe = 0, nbBison = 0, nbElephant = 0, nbTatou = 0, nbLemur = 0, nbTaupe = 0, nbRat = 0, nbChimpanze = 0, nbGorille = 0;
        
        int choixAnimaux = monClavier.nextInt();
        
        switch (choixAnimaux)
        {
            case 1 : nbLion += nouveauInventaire("lion"); break;
            case 2 : nbTigre += nouveauInventaire("tigre"); break;
            case 3 : nbLapin += nouveauInventaire("lapin"); break;
            case 4 : nbGirafe += nouveauInventaire("girafe"); break;
            case 5 : nbBison += nouveauInventaire("bison"); break;
            case 6 : nbElephant += nouveauInventaire("éléphant"); break;
            case 7 : nbTatou += nouveauInventaire("tatou"); break;
            case 8 : nbLemur += nouveauInventaire("lémur"); break;
            case 9 : nbTaupe += nouveauInventaire("taupe"); break;
            case 10 : nbRat += nouveauInventaire("rat"); break;
            case 11 : nbChimpanze += nouveauInventaire("chimpanzé"); break;
            case 12 : nbGorille += nouveauInventaire("gorille"); break;
        }
    }
    }

    Et encore mieux, est-ce que tu connais les tableaux ?

    public static void main(String[] args)
    {
        String[] animaux = {"lion", "tigre", "lapin", "girafe", "bison", "éléphant", "tatou", "lémur", "taupe", "rat", "chimpanzé", "gorille"};
        int[] nbAnimaux = new int[animaux.length];
        
        int choixAnimaux = monClavier.nextInt()-1;
        
        nbAnimaux[choixAnimaux] += nouveauInventaire(animaux[choixAnimaux]);
    }
    1
  2. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Tu as trop d'accolades fermantes :)
    À part dans le premier bloc, tu as à chaque fois une accolade fermante à la fin de la ligne while();
    Elle ne devrait pas être là.

    Xavier
    0