Erreur else without if

Fermé
small44
Messages postés
5
Date d'inscription
dimanche 1 mai 2011
Statut
Membre
Dernière intervention
14 novembre 2012
- 14 nov. 2012 à 03:45
KX
Messages postés
16584
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 août 2022
- 14 nov. 2012 à 14:36
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

KX
Messages postés
16584
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 août 2022
2 972
14 nov. 2012 à 14:36
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
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 006
14 nov. 2012 à 10:33
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