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 :

Probleme avec une fonction de calcul d'un age


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 95
    Points : 46
    Points
    46
    Par défaut Probleme avec une fonction de calcul d'un age
    Bonjour, j'ai créer une fonction de calcul d'age, mais elle ne fonctionne pas....
    Donc si une personne voit une erreure qu il n'hésite pas a me le dire car je galere un peu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    	public int getAge(int dayBirthday, int monthBirthday, int yearBirthday) {
    		int age=0; 
    // on retire 1 au nombre de mois car GregorianCalendar() commence sont calcul de mois a 0 pour janvier et l'utilisateur inserer 1 pour janvier
    		monthBirthday -= 1;
    		Calendar c = new GregorianCalendar();
     
    		if(monthBirthday == c.get(GregorianCalendar.MONTH) && dayBirthday == c.get(GregorianCalendar.DAY_OF_MONTH))
    			age = (c.get(GregorianCalendar.YEAR) - yearBirthday) - 0;
    		else if(monthBirthday == c.get(GregorianCalendar.MONTH) && dayBirthday > c.get(GregorianCalendar.DAY_OF_MONTH))
    			age = (c.get(GregorianCalendar.YEAR) - yearBirthday) - 1;
    		else if(monthBirthday == c.get(GregorianCalendar.MONTH) && dayBirthday < c.get(GregorianCalendar.DAY_OF_MONTH))
    			age = (c.get(GregorianCalendar.YEAR) - yearBirthday) - 0 ;
    		else if(monthBirthday > c.get(GregorianCalendar.MONTH))
    			age = (c.get(GregorianCalendar.YEAR) - yearBirthday) - 1;
    		else
    			age = (c.get(GregorianCalendar.YEAR) - yearBirthday) - 0;
    		return age;
    	}
    Merci d'avance pour votre aide



    C'est bon j'ai trouver et corriger merci....

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    A mon avis il y a des erreurs dans certains des cas que tu as prévus.
    Essaye plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    	public int getAge(int dayBirthday, int monthBirthday, int yearBirthday) {
    		int age=0; 
    // on retire 1 au nombre de mois car GregorianCalendar() commence sont calcul de mois a 0 pour janvier et l'utilisateur inserer 1 pour janvier
    		monthBirthday -= 1;
    		Calendar c = new GregorianCalendar();
     
    		if(monthBirthday == c.get(GregorianCalendar.MONTH) && dayBirthday <= c.get(GregorianCalendar.DAY_OF_MONTH))
    			age = (c.get(GregorianCalendar.YEAR) - yearBirthday) - 0;
    // Tu noteras que j'ai changé == pour le jour en <= car si on est avant c'est bien aussi -0 qu'il faut faire et pas -1 comme tu voulais le faire
    		else if(monthBirthday == c.get(GregorianCalendar.MONTH) && dayBirthday > c.get(GregorianCalendar.DAY_OF_MONTH))
    			age = (c.get(GregorianCalendar.YEAR) - yearBirthday) - 1;
    		else if(monthBirthday > c.get(GregorianCalendar.MONTH))
    			age = (c.get(GregorianCalendar.YEAR) - yearBirthday) - 1;
    		else
    			age = (c.get(GregorianCalendar.YEAR) - yearBirthday) - 0;
    		return age;
    	}
    Ce n'est pas testé, mais ça devrait marcher ....

    Edit : ah ben trop tard lol

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/08/2006, 10h55
  2. [C#] probleme avec une fonction recursive
    Par K_!!! dans le forum ASP.NET
    Réponses: 2
    Dernier message: 01/08/2006, 18h22
  3. probleme avec une fonction enable() toute simple !!
    Par K_!!! dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/05/2006, 15h10
  4. Modifier un champs texte avec une fonction PHP (calcul TVA)
    Par Stella2809 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 00h55
  5. [LG]Probleme avec une fonction
    Par xavier1936 dans le forum Langage
    Réponses: 7
    Dernier message: 08/02/2005, 22h48

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