Bonjour à tous!
J'ai absolument besoin d'aide. Je dois avoir fini un code pour ce vendredi et j'ai quelques problèmes. Je suis un novice en java. Voici le code:
// programme 1 nommé : Personne.java
public class Personne {
// Age de cette personne
private int age;
// Nom de cette personne
private String nom ;
// Prénom de cette personne
private String prenom ;
public Personne(String nom,String prenom,int age){
this.nom=nom;
this.prenom=prenom;
this.age=age;
}
public String getnom(){
return nom;
}
public String getprenom(){
return prenom;
}
public int getage(){
return age;
}
public String toStringp(){
return "Cette personne de Nom complet "+prenom+" "+nom+" Et de Age: "+age+" ans";
}
}
// programme 2 nommé : Compte.java
public class Compte{
// Numéro du compte bancaire
private final int num;
private static int numeroCompte=1;
// Solde du compte bancaire
private double solde ;
// Client propriétaire de ce compte bancaire
private Personne personne ;
public Compte(double salaireInitiale,Personne personne){
num=numeroCompte;
solde=salaireInitiale;
this.personne=personne;
numeroCompte++;
}
// Déposer un montant sur le compte
void depot (double montant) {
solde = solde + montant ;
}
// Retirer un montant du compte
void retrait (double montant) {
if(solde>montant)
solde = solde - montant ;
else System.out.println("Votre solde est insufisant pour la montant q vous voulez retirez \n L'operation ne peut etre effectué");
}
// Tester si le compte est a découvert
boolean estADecouvert () {
return solde < 0 ;
}
public int getNumeroCompte(){
return num;
}
public double getSolde(){
return solde;
}
public Personne getPersonne(){
return personne;
}
public String toStringCompte(){
return personne.toStringp()+"\nSon Solde: "+getSolde()+" Son Numero de Compte: "+getNumeroCompte();
}
}
// programme 3 nommé : banque.java
import java.util.Vector;
public class Banque{
private Vector v = new Vector();
private Compte c;
// La fonction qui cree les comptes
boolean creerCompte(int solde, Personne personne){
boolean b = true;
c = new Compte(solde,personne);
if(!(v.contains(c))) {
v.addElement(c);
return b;
}
else { b=false;
return b;
}
}
//le fonction qui retourne le compte de de numero num
Compte getCompte(int num){
int r=0;
for(int i=0;i<v.size();i++) {
if(((Compte)v.elementAt(i)).getNumeroCompte()==num)
r=i;
}
if(r!=0)
return (Compte) v.elementAt(r);
else {
System.out.println("\n-*** Ce Numero ne correspond a aucun Compte ***-\n");
return null;
}
}
// la fonction qui supprime les comptes :
boolean supprimerCompte(int num){
Compte o=getCompte(num);
return v.removeElement(o) ;
}
//retourne la liste de compte des personnes de nom nom
Vector rechercheCompte(String nom) {
Personne p;
int i;
Vector v1=new Vector();
for(i=0;i<v.size();i++){
p=((Compte)v.elementAt(i)).getPersonne();
if(p.getnom()==nom)
v1.addElement((Compte)v.elementAt(i));
}
return v1;
}
public static void main(String[] args){
Banque b=new Banque();
Personne p1=new Personne("Titi","Toto",20);
Personne p2=new Personne("Tata","Tutu",22);
Personne p3=new Personne("Bibi","Bobo",22);
b.creerCompte(1000,p1); // creation du compte numero 1
b.creerCompte(2000,p2); // creation du compte numero 2
b.creerCompte(800,p3); // creation du compte numero 3
b.creerCompte(4000,p1); // creation du compte numero 4
System.out.println(b.getCompte(2).toStringCompte()); // utiliser la fonction getCompte() et afficher les renseinements sur le compte 2
b.supprimerCompte(2); // la suppression du compte 2
System.out.println(b.getCompte(2).toStringCompte()); // tester encore getComte() apres suppression.
}
}
Mes questions:
1) Quelle commande faut-il exécuter dans la fonction MAIN de la classe Banque pour afficher tous les comptes appartenant à une certaine personne?
2) Comment écrire l'appel de la méthode "retrait" dans la fonction MAIN de la classe Banque pour effectuer un retrait sur un compte?
3) En écrivant:
System.out.println(b.getCompte(1).toStringCompte()); // utiliser la fonction getCompte() et afficher les renseinements sur le compte 1
Celui-ci me retourne "Ce numéro ne correspond à aucun compte" et me provoque une erreur "NullPointerException: null" dans la classe Banque. Cela marche cependant en mettant getCompte(2) ou getCompte(3), etc...
J'ai pourtant bien ce compte:
b.creerCompte(1000,p1); // création du compte numero 1 appartenant à Titi Toto
Merci d'avance pour votre aide!! Et d'avance, bonnes fêtes de fin d'année à tous!
Mockmock