Classe principale en java

Fermé
geniourat Messages postés 3 Date d'inscription samedi 27 février 2010 Statut Membre Dernière intervention 27 février 2010 - 27 févr. 2010 à 09:12
totofrancois Messages postés 398 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 2 août 2013 - 27 févr. 2010 à 14:48
Bonjour,
j'ai un pbm au niveau de la classe principale, je suis debutante en java et j'arrive pas à resoudre ce pbm! voila le code:
//classe principlae
public class Principale {
public static void main(String args [])
{
Personne tab [] = new Personne[4];
tab[0]=new Enseignant();
tab[0].setCIN(123456);
tab[0].setAge(30);
tab[0].setSexe('M');
tab[0].setNom("med");
tab[0].setPrenom("ali");
tab [1]=new Etudiant();
tab[1].setCIN(189768);
tab[1].setAge(23);
tab[1].setSexe('S');
tab[1].setNom("samiouta");
tab[1].setPrenom("samia");
tab [2]=new Etudiant();
tab[2].setCIN(213245);
tab[2].setAge(26);
tab[2].setSexe('M');
tab[2].setNom("ben salih");
tab[2].setPrenom("salah");

for(int i=0;i<tab.length;i++)
{
Double total=total+tab[i].Enseignant().getNbr_heure();
}
System.out.println("erreur");

}
}
je croix elle est faute!!

//classe personne:
public class Personne {
private int CIN;
private int age;
private char sexe;
private String nom, prenom;

public Personne(){}

public void setCIN(int cIN) {
CIN = cIN;
}

public void setAge(int age) {
this.age = age;
}

public void setSexe(char sexe) {
char s='S';
if (s=='S'||s=='M')
sexe=s;
else
System.out.println("erreur");

}

public void setNom(String nom) {
this.nom = nom;
}

public void setPrenom(String prenom) {
this.prenom = prenom;
}

}
//classe enseignant
ublic class Enseignant extends Personne {
private String specialite;
private Double nbr_heure;

public Enseignant(){}

public void setSpecialite(String specialite) {
this.specialite = specialite;
}

public void setNbr_heure(Double nbrHeure) {
if (nbr_heure>0)
this.nbr_heure = nbrHeure;
else
System.out.println("erreur");

}

public Double getNbr_heure() {
return nbr_heure;
}

}
//classe etudiant

public class Etudiant extends Personne {
private String niveau,filiere;

public Etudiant(){}

public void setFiliere(String filiere) {
this.filiere = filiere;
}


}
A voir également:

4 réponses

totofrancois Messages postés 398 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 2 août 2013 44
27 févr. 2010 à 14:33
bonjour

Double total=total+tab[i].Enseignant().getNbr_heure();

Faute !

Double total= ((Enseignant) tab[i]).getNbr_heure()
(ou Double total = 0
total += ((En...)))


et quelsles sont tes erreur affiché par le compli java ?
0
geniourat Messages postés 3 Date d'inscription samedi 27 février 2010 Statut Membre Dernière intervention 27 février 2010
27 févr. 2010 à 14:37
merci tres gentil
il ya un autre probleme!
tab [2]=new Etudiant();
il prend juste les set du classe personne les attributs du classe etudiant nn pkoi?
0
geniourat Messages postés 3 Date d'inscription samedi 27 février 2010 Statut Membre Dernière intervention 27 février 2010
27 févr. 2010 à 14:41
exemple:
tab [2]=new Etudiant();
tab[2].setCIN(213245);
tab[2].setAge(26);
tab[2].setSexe('M');
tab[2].setNom("ben salih");
tab[2].setPrenom("salah");
//mais niveau et filiere non plkoi!
0
totofrancois Messages postés 398 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 2 août 2013 44
27 févr. 2010 à 14:48
je pense que ton obj est caste lors de l'ajout

essai :

Etudiant etu = new Etudiant();

etu.set ...


tab[0] = etu
0