[java] Problème méthodes

Résolu/Fermé
timon44 Messages postés 53 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 17 décembre 2010 - 28 déc. 2008 à 22:58
timon44 Messages postés 53 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 17 décembre 2010 - 29 déc. 2008 à 19:16
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 !
A voir également:

6 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
28 déc. 2008 à 23:02
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
timon44 Messages postés 53 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 17 décembre 2010 4
28 déc. 2008 à 23:13
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
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
28 déc. 2008 à 23:30
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
timon44 Messages postés 53 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 17 décembre 2010 4
29 déc. 2008 à 11:45
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
29 déc. 2008 à 14:00
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
timon44 Messages postés 53 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 17 décembre 2010 4
29 déc. 2008 à 19:16
Merci pour vos réponses !
0