"Else" Ne marche pas...

Résolu/Fermé
OmeGaFire_ Messages postés 83 Date d'inscription dimanche 19 juin 2016 Statut Membre Dernière intervention 19 janvier 2018 - Modifié par NHenry le 1/08/2016 à 18:17
 Utilisateur anonyme - 1 août 2016 à 19:10
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

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 1211 Date d'inscription vendredi 17 juin 2011 Statut Membre Dernière intervention 3 juin 2023 169
1 août 2016 à 16:21
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 dimanche 19 juin 2016 Statut Membre Dernière intervention 19 janvier 2018
1 août 2016 à 16:34
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 dimanche 19 juin 2016 Statut Membre Dernière intervention 19 janvier 2018
1 août 2016 à 19:10
Non tu as oublie une accolade et mis des ; là ou il n'en faut pas
0
0
OmeGaFire_ Messages postés 83 Date d'inscription dimanche 19 juin 2016 Statut Membre Dernière intervention 19 janvier 2018
1 août 2016 à 16:10
Merci de répondre au sujet.
0
NHenry Messages postés 15190 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 février 2025 353
1 août 2016 à 16:14
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 dimanche 19 juin 2016 Statut Membre Dernière intervention 19 janvier 2018
1 août 2016 à 16:18
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 dimanche 19 juin 2016 Statut Membre Dernière intervention 19 janvier 2018 > Utilisateur anonyme
1 août 2016 à 16:20
J'avais fais un lien pastebin, et maintenant, le code est dans le post
0
OmeGaFire_ Messages postés 83 Date d'inscription dimanche 19 juin 2016 Statut Membre Dernière intervention 19 janvier 2018 > NHenry Messages postés 15190 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 février 2025
1 août 2016 à 16:22
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 15190 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 février 2025 353
1 août 2016 à 16:12
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 dimanche 19 juin 2016 Statut Membre Dernière intervention 19 janvier 2018
Modifié par OmeGaFire_ le 1/08/2016 à 16:21
Il l'était déjà ^^
0