Bonjour,
Je réalise une classe TesteBanque pour tester des fonctions de banque crées auparavant.
Voici mon code :
import java.io.IOException;
import java.util.Scanner;
public class TesteBanque {
public static Client LireClient() throws IOException{
System.out.print("Nom :");
Scanner a= new Scanner(System.in);
String n = a.nextLine();
System.out.print("Prénom :");
Scanner b= new Scanner(System.in);
String p = b.nextLine();
System.out.print("Adresse :");
Scanner c= new Scanner(System.in);
String ad = c.nextLine();
System.out.print("Carte d'Identité :");
Scanner d= new Scanner(System.in);
String ca = d.nextLine();
System.out.print("Numéro de téléphone :");
long t=StdInput.readlnLong();
System.out.println("Vous etes le client : "+n+" "+p+" habitant le "+ad+" carte :"+ca+" téléphone :"+t);
return new Client(n,p,ca,ad,t);
}
public static Directeur LireDirecteur() throws IOException{
System.out.print("Nom :");
Scanner a= new Scanner(System.in);
String n = a.nextLine();
System.out.print("Prénom :");
Scanner b= new Scanner(System.in);
String p = b.nextLine();
System.out.print("Adresse :");
Scanner c= new Scanner(System.in);
String ad = c.nextLine();
System.out.print("Carte d'Identité :");
Scanner d= new Scanner(System.in);
String ca = d.nextLine();
System.out.print("Numéro de téléphone :");
long t=StdInput.readlnLong();
System.out.println("Vous etes le Directeur : "+n+" "+p+" habitant le "+ad+" carte :"+ca+" téléphone :"+t);
return new Directeur(n,p,ca,ad,t);
}
public static Personne LirePersonne() throws IOException{
System.out.print("Nom :");
Scanner a= new Scanner(System.in);
String n = a.nextLine();
System.out.print("Prénom :");
Scanner b= new Scanner(System.in);
String p = b.nextLine();
System.out.print("Adresse :");
Scanner c= new Scanner(System.in);
String ad = c.nextLine();
System.out.print("Carte d'Identité :");
Scanner d= new Scanner(System.in);
String ca = d.nextLine();
System.out.print("Numéro de téléphone :");
long t=StdInput.readlnLong();
System.out.println("Vous etes la personne : "+n+" "+p+" habitant le "+ad+" carte :"+ca+" téléphone :"+t);
return new Personne(n,p,ca,ad,t);
}
public static void main(String[] args) throws IOException{
Personne p = LirePersonne();
System.out.print("Numéro de téléphone");
long tel=StdInput.readlnLong();
p.ChangerTéléphone(tel);
Directeur d = LireDirecteur();
Agence A = new Agence(d);
Client C1 = LireClient();
Client C2 = LireClient();
Client C3 = LireClient();
Client C4 = LireClient();
A.AjouterClient(C1);
A.AjouterClient(C2);
A.AjouterClient(C3);
A.AjouterClient(C4);
}
}
Lorsque je crée seulement une nouvelle personne p, ça marche bien, mais quand je rajoute l'instruction pour créer un Directeur et plusieurs Clients, je reçois le message d'erreur suivant :
TesteBanque.java:31: cannot find symbol
symbol : constructor Client(java.lang.String,java.lang.String,java.lang.String,java.lang.String,long)
location : class Client
return new Client(n,p,ca,ad,t);
et le meme message d'erreur pour Directeur.
Les classes Directeur et Client héritent de Personne et redéfinissent son constructeur. Voilà les constructeurs :
public Personne(String n, String p, String a, String c, long t) throws IOException{
this.nom=n;
this.prénom=p;
this.adresse=a;
this.cartedidentité=c;
this.téléphone=t;
}
public Client(String m, String n, String o, String p, int port) throws IOException{
super(m,n,o,p,port);
}
public Directeur(String w, String x, String y, String z, int cell) throws IOException{
super(w,x,y,z,cell);
}
Les classes Client et Directeur compilent bien séparément.
Merci d'avance pour votre aide.
