"Else" Ne marche pas...

Résolu
OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
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. Utilisateur anonyme
     
    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
  2. mtR^ Messages postés 1192 Date d'inscription   Statut Membre Dernière intervention   169
     
    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
    1. OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
       
      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)
      0
      1. Utilisateur anonyme > OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
         
        Non tu as oublie une accolade et mis des ; là ou il n'en faut pas
        0
  3. Utilisateur anonyme
     
    0
    1. OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci de répondre au sujet.
      0
    2. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      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.
      0
    3. OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   > Utilisateur anonyme
       
      J'avais fais un lien pastebin, et maintenant, le code est dans le post
      0
    4. OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   > NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention  
       
      En 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
      0
  4. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    En plus des conseils de Whismeril, j'ajouterai :
    Ré-indente ton code correctement, tu y verra plus clair.
    0
    1. OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
       
      Il l'était déjà ^^
      0