Erreur else without if java

anoukville Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
je recontre une difficulté sur Java avec les conditions if else. je suis débutante et mon problème concerne un exercice d'application un peu "bateau". J'ai beau tout essayer je n'y arrive pas ... voila mon code:

public class Exercice3 {
  public static void main(String[] args){
    int mult;
    System.out.print("entrez le nombre à multiplier: ");
    mult=MOOC.readInt();
    if(mult<=1){
      for(mult=1;mult<=9;++mult);
        System.out.println("1 x "+mult+" = "+1*mult);
    }else if (mult<=2){
      for(mult=1;mult<=9;++mult){
        System.out.println("2 x "+mult+" = "+2*mult);
    }else if (mult<=3){
      for(mult=1;mult<=9;++mult){
        System.out.println("3 x "+mult+" = "+3*mult);
 }
}
 }
}
}


l'erreur s'affiche sur le dernier
 }else if{


merci d'avance
A voir également:

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Tu as pas mal d'erreurs sur tes boucles for.

Ligne 7 : tu as un point virgule à la fin de la ligne, ça court-circuite les instructions qui suivent.
Ligne 10 : tu ouvres une accolade, mais tu ne la fermes pas (d'où l'erreur avec le else ensuite)

Voici la bonne structure :
if (mult <= 1) {
    for (mult = 1; mult <= 9; ++mult) {
        System.out.println("1 x " + mult + " = " + 1 * mult);
    }
} else if (mult <= 2) {
    for (mult = 1; mult <= 9; ++mult) {
        System.out.println("2 x " + mult + " = " + 2 * mult);
    }
} else if (mult <= 3) {
    for (mult = 1; mult <= 9; ++mult) {
        System.out.println("3 x " + mult + " = " + 3 * mult);
    }
}

Remarque : c'est une mauvaise idée de réutiliser la variable mult dans la boucle car du coup tu effaces la valeur qu'elle avait ligne 5.
0
anoukville
 
Merci mille fois ça fait vraiment plusieurs heures que je suis là dessus, j'ai essayé plusieurs combinaisons pour placer mes accolades et rien y faisait(je savais que le problème était la dessus)! bon la fatigue à force de s'acharner devait y être pour quelque chose ! merci en tout cas, j'ai compris l'erreur c'est le principal.

pour ta remarque sur l'utilisation de la variable multi dans la boucle, j'ai suivi les exemple que j'avais eu dans le cours donc je ne saurais pas trop comment faire d'autre, qu'est ce que tu suggérais ?

J'ai une question en revanche, à quoi servent les + autour de mult?? j'ai trouvé ça sur internet et j'ai vu que cela marchait mais je ne comprend pas trop la logique.

merci!
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
l'utilisation de la variable multi dans la boucle
Ce que je veux dire c'est que sémantiquement il te faudrait deux variables, une pour le multiplicande l'autre pour le multiplicateur (ce qui te permettrait d'ailleurs de supprimer tout les if pour ne garder qu'une seule boucle for...)

à quoi servent les + autour de mult
Lorsque tu fais un affichage, ce que tu manipules c'est un objet String, l'utilisation de l'opérateur + permet de faire la concaténation de deux String.
"1"+"2" → "12"
0