Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/03/2012, 16:01
Avatar de juanalbertosk8
juanalbertosk8
 
Fecha de Ingreso: noviembre-2011
Ubicación: Málaga, Spain, Spain
Mensajes: 10
Antigüedad: 12 años, 4 meses
Puntos: 0
proyecto banco

Tengo que hacer un proyecto banco para la universidad, con una clase cuenta, una clase banco y una clase main.

He conseguido crear la clase Cuenta que es esta

Código Javascript:
Ver original
  1. public class Cuenta {
  2.     private String titular;
  3.     private double saldo;
  4.     private int cuenta;
  5.    
  6.     public Cuenta(String nombre, int numero, double dinero){
  7.         titular = nombre;
  8.         saldo = dinero;
  9.         cuenta = numero;
  10.     }
  11.    
  12.     public Cuenta(String nombre, int numero){
  13.         this(nombre,numero,0);
  14.     }
  15.    
  16.     public void Ingreso(double ingreso){
  17.         saldo = saldo + ingreso;
  18.    
  19.        
  20.     }
  21.     public void Debito(double debito){
  22.         saldo = saldo - debito;
  23.     }
  24.    
  25.     public String titular() { return titular ;}
  26.  
  27.     public double saldo() { return saldo ;}
  28.    
  29.     public int cuenta() { return cuenta ;}
  30.    
  31.     public String toString(){
  32.         return "[[("+ titular+ "/"+ cuenta+ ") - > " + saldo + "]]";
  33.        
  34.     }
  35. }

Y tengo la clase Banco que me falta el toString por terminar ya que no se que poner, aquí es donde teneis que ayudarme ya que no se como acabar el toString para que me imprima por pantalla esto.

// salida:
// [[(Po/1001) -> 500.0] [(Dixy/1002) -> 500.0] [(Tinky Winky/1003) ->
500.0] [(Lala/1004) -> 500.0]]
// [[(Po/1001) -> 600.0] [(Dixy/1002) -> 400.0] [(Tinky Winky/1003) ->
400.0] [(Lala/1004) -> 600.0]]
// [[(Dixy/1002) -> 600.0] [(Tinky Winky/1003) -> 400.0] [(Lala/1004)
-> 600.0]]


La clase Banco es esta
Código Javascript:
Ver original
  1. public class Banco {
  2.     private final static int NCTAS=20;
  3.     private final static int NUMCTALIBRE=1001;
  4.     private String nombre;
  5.     private int ppl;
  6.     private int unca;
  7.     private Cuenta [] ctas;
  8.     public Banco(String n, int tam){
  9.         if (tam <=0){
  10.             throw new RuntimeException("El valor tiene que ser positivo");
  11.            
  12.         }
  13.         nombre = n;
  14.         ctas = new Cuenta[tam];
  15.         ppl=0;
  16.         unca=NUMCTALIBRE;
  17.     }
  18.     public Banco(String n){
  19.         this(n, NCTAS);
  20.     }
  21.    
  22.     public int abrirCuenta(String titular, double saldo){
  23.         if(saldo<0){
  24.             throw new RuntimeException("El saldo no puede ser negativo");
  25.         }
  26.         if(ppl>=ctas.length){
  27.             Cuenta[] aux=new Cuenta[2*ctas.length];
  28.             System.arraycopy(ctas,0,aux,0,ppl);
  29.             ctas=aux;
  30.            
  31.         }
  32.         ctas[ppl] = new Cuenta (titular,ppl,saldo);
  33.         ppl++;
  34.         unca++;
  35.         return unca-1;
  36.     }
  37.     public int abrirCuenta(String titular){
  38.     return abrirCuenta(titular,0);
  39.     }
  40.    
  41. private int posicionCuenta(int ncuenta){
  42.         int posarray=0;
  43.         boolean encontrado=false;
  44.         do{
  45.             if(ctas[posarray].cuenta()==ncuenta){
  46.                 encontrado=true;
  47.                 break;
  48.             }
  49.             else{
  50.                 posarray++;
  51.             }
  52.         }
  53.         while((encontrado==false)||(posarray<ppl-1));
  54.         if(!encontrado){
  55.             throw new RuntimeException("No existe la cuenta");
  56.         }
  57.         return posarray;
  58.     }
  59.    
  60.     public void cerrarCuenta(int ncuenta){
  61.         ppl--;
  62.         ctas[posicionCuenta(ncuenta)]=ctas[ppl];
  63.         ctas[ppl]=null;
  64.        
  65.     }
  66.     public void ingreso(int ncuenta, double saldo){
  67.         if(saldo<=0){
  68.             throw new RuntimeException("El ingreso no puede ser negativo");
  69.            
  70.         }
  71.         ctas[posicionCuenta(ncuenta)].Ingreso(saldo);
  72.        
  73.     }
  74.    
  75.     public double debito (int ncuenta, double saldo){
  76.     if(saldo>saldo(ncuenta)){
  77.         ctas[posicionCuenta(ncuenta)].Debito(saldo(ncuenta));
  78.         return saldo(ncuenta);
  79.     }
  80.     else
  81.         ctas[posicionCuenta(ncuenta)].Debito(saldo);
  82.         return saldo;
  83.     }
  84.  
  85.    
  86.     public double saldo(int ncuenta){
  87.         return ctas[posicionCuenta(ncuenta)].saldo();
  88.         }
  89.    
  90.    
  91.     public double transferencia(int ncuenta, int ncuenta1, double saldo){
  92.         ctas[posicionCuenta(ncuenta)].Debito(saldo);
  93.         ctas[posicionCuenta(ncuenta1)].Ingreso(saldo);
  94.        
  95.         return ctas[posicionCuenta(ncuenta1)].saldo();
  96.        
  97.        
  98.         }
  99.  
  100.     public String toString(){
  101.         return  "[[("+nombre+ "/"+
  102.        
  103.        
  104.     }
  105.     }

Gracias por ayudarme.