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

avec Java Discussion :

Equivalent assert de C


Sujet :

avec Java

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Par défaut Equivalent assert de C
    Bonjour,

    Alors tout d'abord, je viens juste de débuter en JAVA [je sais programmer en C].

    J'ai une classe Commercant, qui a un attribut (int) argent, et une méthode 'donnerArgent( int somme, Commercant c)' qui permet à par exemple un Commercant c1 de donner de l'argent à c2.

    Je voulais savoir comment faire pour, dans le code de la fonction, arreter le programme si 'somme' est plus grand que 'argent' de c1 [ou que 'somme est < 0]

    En gros, faire comme en C [avec commercant une structure contenant argent]:

    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void donnerArgent(int somme, commercant c) {
        if (somme > c->argent || somme < 0) {
            fprintf(stderr,"Erreur: somme non valide");
            exit(EXIT_FAILURE);
        }
    }

    Donc en gros, je veux savoir comment reproduire l'effet de l'assert de C en JAVA.

    Merci d'avance à celui/ceux qui me répondra/ont.

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu peux utiliser les assertions, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	assert somme<0 : "somme non valide";
    	assert c.getArgent()<somme : "argent insuffisant";
    Toutefois il ne faut pas oublier que les assertions sont désactivé par défaut, et qu'il faut les activer explicitement avec le paramètre -enableassertions de la JVM...




    Sinon le mieux consiste simplement à utiliser des exceptions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	if (somme<0) throw new IllegalArgumentException("somme non valide");
    	if (c.getArgent()<somme) throw new IllegalArgumentException("argent insuffisant");

    a++

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    et même si c'est pas propre, si tu veux quitter le programme, c'est System.exit()

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Par défaut
    Merci pour vos réponses^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/11/2002, 09h12
  2. equivalent à explode?
    Par djridou dans le forum Langage
    Réponses: 3
    Dernier message: 28/08/2002, 11h01
  3. [Kylix] Equivalent ShellExec en CLX
    Par Anonymous dans le forum EDI
    Réponses: 7
    Dernier message: 14/08/2002, 11h55
  4. Equivalent à ExeName pour une DLL
    Par Smortex dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2002, 21h07
  5. [Kylix] equivalent winsock avec kylix
    Par Victor dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 07h43

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