Blame view

tp4_banque/banque/Banque.java 2.82 KB
49443da5   Vincent Benoist   tp avance
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
  import java.util.*;
  
  public class Banque {
  	List<Compte> comptes;
  	int nbComptes =0;
  	
  	public Banque(){
  		comptes = new ArrayList<Compte>();
  		this.nbComptes = 0 ;
  	}
  	
  	public int ouvrirCompte(){
          comptes.add(new Compte());
          nbComptes ++;
          return this.nbComptes;
  	}
  	
  	public int ouvrirCompteEpargne(double credit, double interet){
          comptes.add(new CompteEpargne(credit,interet));
          nbComptes ++;
          return nbComptes;
  	}
  	
  	public Compte getCompte(int i) throws CompteInexistantException{
          if(i > nbComptes && i>0){
              throw new CompteInexistantException();
             
          }else{
              return this.comptes.get(i-1);
          }
  	}
  	
  	public void crediter(int i, double x)throws CompteInexistantException{
          if(i > nbComptes && i>0){
              throw new CompteInexistantException();
          }else{
              getCompte(i).crediter(x);
          }
  	}
  	
  	public void debiter(int i, double x)throws CompteInexistantException{
          if(i > nbComptes && i>0){
              throw new CompteInexistantException();
          }else{
              getCompte(i).debiter(x);
          }
  	}
  	
  	public double totalSolde(){
          double totalSolde = 0;
          if(!comptes.isEmpty()){
          for(Compte compte : comptes){
              totalSolde += compte.solde();
          }}
          return totalSolde;
  	}
  	
  	public String etat(int i) throws CompteInexistantException{
          if(i > nbComptes){
              throw new CompteInexistantException();
          }else{
              return  getCompte(i).toString();
          }
  	}
  	
  	public void etat() {
          System.out.println("Vos comptes: ");
          int indice=0;
          for(Compte compte : comptes){
              indice++;
              System.out.println("Pour le compte: " + indice + " et "+ compte.toString());
          }
  	}
  	
  	public void virement(int numSrc, int numDest, double x)throws CompteInexistantException{
          if((numSrc > nbComptes)||(numDest > nbComptes)){
                 throw new CompteInexistantException();
          }else{
            getCompte(numSrc).virerVers(x, getCompte(numDest));
          }
  	}
  	
      public double interets(int i)throws CompteInexistantException{
        if(i > nbComptes){
          throw new CompteInexistantException();
        }else{
              try{
              CompteEpargne ce = (CompteEpargne)getCompte(i);
              return ce.interets();
              } catch (ClassCastException e){
              
              }
              
          
        }
          return 0;
          
      }
      
      public void echeance(int i)throws CompteInexistantException{
          if(i > nbComptes){
              throw new CompteInexistantException();
          }else{
              try{
                  CompteEpargne ce = (CompteEpargne)getCompte(i);
                  ce.echeance();
                } catch (ClassCastException e){   
              }
          }
      }
      
      
  }