Erreur else without if java

Fermé
anoukville Messages postés 8 Date d'inscription dimanche 20 mars 2016 Statut Membre Dernière intervention 23 février 2017 - Modifié par KX le 20/03/2016 à 19:32
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 20 mars 2016 à 20:38
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
20 mars 2016 à 19:42
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
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
20 mars 2016 à 20:38
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