[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

  • Votes
  • Date
  • Date décroissante
  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");
    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 ....
      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
        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 !
          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;
            }