IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Comment quitter une application (console DOS) avec du code


Sujet :

Langage Java

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Comment quitter une application (console DOS) avec du code
    Bonjour tout le monde,

    J'ai créé un petit menu composé comme ceci :

    1. Créer une liste de nombre entier (dans un fichier txt)
    2. Ajouter un nombre entier
    3. Faire la somme de tous ces nombres
    4. Quitter

    Je sais plus comment je peux faire pour quitter l'application en choisissant l'option 4.

    Avez-vous une idée ?

    Merci d'avance pour votre aide.

    beegees

  2. #2
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Salut,

    Essaye ceci :
    @+


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    Si c'est une interface graphique avec des boutons, il faut que tu mettes le System.exit(0) dans la méthode actionPerformed dans ton ActionListener.
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 511
    Points
    511
    Par défaut Terminer proprement
    Bonjour,
    Le System.exit(0) est un classique et termine complètement la JVM, par contre, une fin normale de programme se fait plutôt en laissant tous les Thread se terminer normalement.
    En mode console, tu dois avoir un seul Thread principal qu est celui qui a lancé le main, et tu dois aussi avoir une boucle qui pose la question pour le menu, il faut sortir de cette boucle et laisser le Thread principal aller au bout de son exécution, et tout se terminera sans exit(0).

  5. #5
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    Dans ce cas, tu utilises le mot-clé break.
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  6. #6
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Salut Afrikha, salut tout le monde,

    Merci pour vos réponses.

    J'ai essayé et ça fonctionne très bien, merci

    Puis-je, par curiosité, vous demander pourquoi on met 0 entre parenthèse ?.

    exit() est une fonction je présûme et le 0 c'est qu'il n'y a aucun argument ?

    Autrement, on peut y mettre des arguments ? lesquels ?

    Merci pour votre aide si précieuse.

    beegees

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Non, 0 est un code d'erreur. Par convention un programme retourne 0 quand tout se passe bien et 1 ou plus quand une erreur est survenue qui a force le programme a se terminer. C'est tres utile quand un programme en appelle un autre pour determiner si l'execution s'est correctement passee (nottament quand on programme pas mal en batch/bash/etc.. mais aussi dans les envirronement graphiques).

    En C/C++ c'est souvent defini dans les constantes ou macros EXIT_SUCCESS (qui correspond au 0) et EXIT_FAILURE (qui correspond au 1). Bizarrement en Java il n'ont rien defini de tel meme si un programme se terminant correctement est sense retourne 0.

    Pour les codes d'erreurs proprement dits, si ton programme en a, tu peux les definir comme bon te semble mais il existe une liste de code POSIX predefinis qui sont relativement standardise sur la plupart des platformes pour les erreurs courrantes (pas possible d'ouvrir un fichier, pas possible de lire un fichier, le fichier specifier est en fait un repertoire, erreur de socket, etc...). Il est egalement possible qu'il existe des codes d'erreur standards propres a Windows ou a d'autres OS mais je ne les connais pas.

    Si jamais tu en utilises, pense a bien les documenter dans le manuel/guide de maintenance de ton application.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  8. #8
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    Dans la Javadoc, il est écrit qu'un programme faisant appel à System.exit ne se termine jamais correctement...
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  9. #9
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Citation Envoyé par javadoc
    Terminates the currently running Java Virtual Machine. The argument serves as a status code; by convention, a nonzero status code indicates abnormal termination.
    This method calls the exit method in class Runtime. This method never returns normally.
    Non il est indiqué qu'une valeur différente de 0 correspond à une erreur, ce que j'ai indiqué précédement.

    Il est également indiqué que cette méthode ne retourne jamais puisque la JVM se termine à son execution (ca ne sert à rien de mettre du code après).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/01/2008, 23h46
  2. Réponses: 1
    Dernier message: 16/07/2007, 12h49
  3. Réponses: 0
    Dernier message: 11/05/2006, 08h19
  4. Réponses: 0
    Dernier message: 24/03/2006, 08h33
  5. Réponses: 0
    Dernier message: 17/10/2005, 08h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo