Bonjour,

Je suis débutant en java et je dois réaliser une classe Personne avec un constructeur qui vérifie si le sexe est 'f' ou 'm' et l'ajoute a la liste (representé par une instance de la classe Vector)et leve une exception si aucun des critères ne correspond.

J' ai un probleme avec ces 2 methodes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
public static Personne individuNommé(String nom)
public static void afficheListe()
voici le code de la classe Personne:
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import java.util.*;
public class Personne{
    String nom;
    String prenom;
    char sexe;
    Vector vect=new Vector();//création de la liste vide
 
    public Personne(String n,String p,char s){
        nom=n;
        prenom=p;
        try{
        if (s=='f'){
            sexe='f';
            vect.addElement(new Personne(n,p,s));//si s=='f' ajout de la personne dans la liste
        }else{
            sexe='m';
            vect.addElement(new Personne(n,p,s));//si s=='m' ajout de la personne dans la liste
        }
        } catch(ErreurSexe e) {//si ni 'f' ni 'm' levé de l'exeption
            System.out.println("Erreur de sexe\n"+e.getMessage());
        }           
    }
    public String toString(){
        return "je suis "+nom+" "+prenom+" de sexe"+sexe+".\n";
    }
    public String getNom(){
        return nom;
    }
    public static Personne individuNomme(String nom){
	for(int i=0;i<vect.size();i++){//Parcours de la liste 
	    try{
		if(vect.elementAt(i).getNom()==nom){//si l'instance du nom spécifié dans le paramètre se trouve dans la liste
		    Personne p=vect.elementAt(i);
		    return p;//renvoie l'instance du nom spécifié en paramètre 
	    }
	    }catch(NomInconnu e){//lève l'exception si le nom ne s'y trouve pas
		 System.out.println("Nom inconnue\n"+e.getMessage());
	    }
	    }
    }
    public static void afficheListe(){
	for(int i=0;i<vect.size();i++){//parcours de la liste 
	    System.out.println(vect.elementAt(i));//affichage des elements de la liste
	 }
    }
}
Quand je compile ma classe j'obtient :
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
20
21
22
23
24
25
26
27
28
29
30
 
% javac Personne.java
Personne.java:34: non-static variable vect cannot be referenced from a static context
	for(int i=0;i<vect.size();i++){//Parcours de la liste 
	              ^
Personne.java:36: non-static variable vect cannot be referenced from a static context
		if(vect.elementAt(i).getNom()==nom){//si l'instance du nom spésifié en paramètre se trouve dans la liste
		   ^
Personne.java:36: cannot find symbol
symbol  : method getNom()
location: class java.lang.Object
		if(vect.elementAt(i).getNom()==nom){//si l'instance du nom spésifié en paramètre se trouve dans la liste
		                    ^
Personne.java:37: non-static variable vect cannot be referenced from a static context
		    Personne p=vect.elementAt(i);
		               ^
Personne.java:37: incompatible types
found   : java.lang.Object
required: Personne
		    Personne p=vect.elementAt(i);
		                             ^
Personne.java:47: non-static variable vect cannot be referenced from a static context
	for(int i=0;i<vect.size();i++){//parcours de la liste 
	              ^
Personne.java:48: non-static variable vect cannot be referenced from a static context
	    System.out.println(vect.elementAt(i));//affichage des elements de la liste
	                       ^
Note: Personne.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
7 errors
Je suis vraiment perdu et je ne maitrise pas du tout le java alors tout aide est bienvenue.
Merci d'avance