Stopper un programme Java pour un cas

Fermé
Zeptron - 13 nov. 2014 à 23:37
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 14 nov. 2014 à 19:21
Bonjour, enfin bonsoir :p

Je viens de commencer Java donc le problème que j'ai doit surement être une blague pour vous :)

Je veux fermer un programme Java pour un certain cas. Je vous met là où il y a le problème :

Scanner sl = new Scanner(System.in);
System.out.println("Prêt pour le fight ?");
System.out.println("Ecrivez 1 pour oui ou 0 pour non ");
int i = sl.nextInt();
if (i == 1)
{
System.out.println("Je vous préviens, vous avez déjà perdu d'avance !");
}
else if (i == 0)
{
System.out.println("Alors comme ça, on a peur de perdre");
}



Voila donc je veux stopper le programme quand une personne met 0, cependant je n'y arrive pas. J'essaie de trouver sur Internet mais je ne trouve pas.

Si vous pourriez m'aider ce serait sympa :)

Merci d'avance.
A voir également:

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
14 nov. 2014 à 07:45
Bonjour,

Normalement, un programme doit se terminer de deux manières, soit parce qu'il provoque une exception (ou une erreur), soit parce qu'il est arrivé à la fin de son exécution. Le plus propre serait donc que ton programme se termine si i=0, c'est à dire qu'il ne s'exécute que lorsque i=1.

    if (i == 1) 
    { 
        System.out.println("Je vous préviens, vous avez déjà perdu d'avance !");
        // appel d'une méthode qui lance le jeu
    }
    else
    {
        System.out.println("Alors comme ça, on a peur de perdre");	
    }
} // fin du main -> fin du programme

Cependant, il existe quand même une troisième solution,
System.exit(0);
mais je te déconseilles de l'utiliser car ce serait une mauvaise conception du programme.
0
J'ai compris ce que tu voulais dire pour ta première solution, cependant c'est là où est le problème car je ne savais pas quoi mettre.

Mais system.exit(0); marche bien, donc merci beaucoup ! :p
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
14 nov. 2014 à 19:21
c'est là où est le problème car je ne savais pas quoi mettre.
Il faudrait mettre dans le if tout ce que tu as du mettre après le else.
C'est là que la décomposition du code en méthodes devient intéressante.
0