"Else" Ne marche pas...

Résolu
Bonjour,
Depuis peu, j'apprends à coder en Java. C'est quelque chose que je voulais faire depuis longtemps, et que je ne faisais jamais par manque de temps.
Mais voilà, pendant que je faisais mon code, j'ai du utiliser "if". Mais "else" est reconnu en tant qu'erreur par Eclipse.

Le code:
import java.util.Scanner;
 
public class Class1 {
 
    public static void main(String[] args) {                       
        Scanner sc = new Scanner (System.in);                   //Entrées clavier
                System.out.println("Saisissez un nombre");          
                    long nbre1;
                        nbre1=sc.nextLong();
                            System.out.println("Saisissez une opération");
                               
                            String o = sc.nextLine();
                            if (o == "-" );                     //Soustractions
                            {
                System.out.println("Saisissez un second nombre");
                        long nbre2;
                        nbre2=sc.nextLong();
                                long result;
                                result = (long) (nbre1 - nbre2);       
                                System.out.print(+nbre1);
                                System.out.print("-");
                                    System.out.print(+nbre2);
                            System.out.print("=");
                                System.out.print(+result);
                            }
                                else;
                            {
                                if (o ==  "+");
                                System.out.println("Saisissez un second nombre");
                nbre2=sc.nextLong();       
                            result = (long) (nbre1 + nbre2);
                System.out.print(+nbre1);
                    System.out.print("+");
                        System.out.print(+nbre2);
                System.out.print("=");
                    System.out.print(+result);
                            }
                            else
                    {
                System.out.println("Cette opération n'est pas prise en charge, seule les additions et les soustractions marchent #RT :'(");
                       
                            }
                           
               
               
           
    }
 
}


L'erreur quand je lance le script:
https://prnt.sc/c088zn
Je ne sais pas ce qu'il bug, mais ça fait un moment que je cherche.
Bonne journée, OmeGaFire_

Et oui, je sais que j'aurais pu faire plus simple, mais je débute: tant que ça marche, ça me va ^^.

4 réponses

  1. Salut,

    Retire tous les ";" après tes if et else.
    La tu fait un mix entre les ";" et les "{}".

    Deux écritures pour la même chose :

            int a = 0;
            
            if(a == 0) a++;
            else a--;
            
            if(a == 0)
            {
            	a++;
            }
            else
            {
            	a--;
            }
    


    A partir du moment ou tu a plus d'une instruction à réaliser dans ton if (ce qui est ton cas), utilise les "{}".
    1. CA FONCTIONNE ! MERCIIIIII

      Non plus sérieusement, je pensais pas avoir oublié une accolade ouvrante. J'ai faillit finir par croire que ça venait du JRE 1.8 x)
    2. @OmeGaFire_Non tu as oublie une accolade et mis des ; là ou il n'en faut pas
  2. Y'a un mieux, mais le code, il faut le mettre entre les balises....

    Je ne suis pas un pro de Java, mais un ; derrière un if ou un else pour ce que j'en sais ça n'existe pas.
    Et un if est suivi d'une accolade ouvrante, le corps du if et une accolade fermante

    Quand j'étais petit, la mer Morte n'était que malade.
    George Burns
    1. Modérateur
      En plus des conseils de Whismeril, j'ajouterai :
      Ré-indente ton code correctement, tu y verra plus clair.
      1. Il l'était déjà ^^
      1. Merci de répondre au sujet.
      2. Modérateur
        Merci de respecter les intervenants du forum ainsi que les pratiques de celui-ci.

        Par exemple, je n'arrive pas à voir ton image car le site ne veut pas se charger correctement chez moi.
      3. @NHenryEn gros, l'erreur me dit "Delete this token", alors que else est une formule qui existe, et ce n'est pas un manque de if, vu qu'il est déjà dedans