[java] Problème méthodes

Résolu
Bonjour, je débute en java, et j'ai un probème sur 'difference':
il me dit que personne n'est pas un type.


public class Personne {
	int anneeNaissance;
	String nom; 
	
//constructor
public void personne(int birthyear, String name){

	nom=name;
	anneeNaissance=birthyear;	

}

public int calculAge(){
	
	int year= 2008;
	int age = (year-anneeNaissance);
	return (age);
}

public int difference(){
	personne p1 = new personne(1986,"Simon");
	personne p2 = new personne(1987,"Timon");
	

	int dif= Math.abs(p1.calculAge()-p2.calculAge());
	return dif;
	
}




} //fin class


Merci de votre aide !
Configuration: Windows XP
Firefox 3.0.5

6 réponses

  1. Tu as oublié les majuscules à "personne" quand tu crée tes deux Personne dans difference().

    Personne p1 = new Personne(1986,"Simon");
    Personne p2 = new Personne(1987,"Timon");
    0
    1. ok, c'est fait

      public int difference(){
      	Personne p1 = new Personne(1986,"Simon");
      	Personne p2 = new Personne(1987,"Timon");
      	
      


      mais il me dit que je n'ai pas définie Personne ....
      0
      1. dans l'en tete de ton constructeur il manque aussi la majuscule et il n'y a pas de type de retour dans un constructeur enleve le void dans l'en tete
        0
        1. merci ca marche impec. Donc il faut que le nom du constructeur et de la classe soient les même ? (avec un majuscule c'est ça?)

          Autre petite question: dois je mettre les get & set dans le constructeur ou je peux les mettre ou je veux ?

          merci !
          0
          1. Tu dois les distinguer comme les autres méthodes :

            public int getAnneeNaissance()
            {
              return this.anneeNaissance;
            }
            
            public String getNom()
            {
              return this.nom;
            }
            
            public void setAnneeNaissance(int anneeNaissance)
            {
              this.anneeNaissance = anneeNaissance;
            }
            
            public void setNom(String nom)
            {
              this.nom = nom;
            }
            0
            1. Merci pour vos réponses !
              0