"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

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
mtR^ Messages postés 1215 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
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
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
Utilisateur anonyme
 
0
OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de répondre au sujet.
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
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
Utilisateur anonyme > OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
Non je ne peux pas, je ne voie pas ton code....

"Indente" ??!

c'est dans le dictionnaire
https://www.linternaute.fr/dictionnaire/fr/definition/indentation/
0
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
OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   > NHenry Messages postés 15219 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
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
En plus des conseils de Whismeril, j'ajouterai :
Ré-indente ton code correctement, tu y verra plus clair.
0
OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
Il l'était déjà ^^
0