Hola compas,
tengo una duda con un método. Tiene que ser muy simple lo que me falta....pero claro, me falta eso y le estoy echando horas y nada, no consigo sacar nada en claro!!!
Resulta que estoy con una práctica donde tengod dos clases: Tarjeta y Cuenta (un banco, sí señor).
La clase Cuenta ya la tengo hecha. Incluso tengo un ArrayList donde tengo varias tarjetas para esa cuenta.
Ahora me falta, dentro de la clase Tarjeta, hacer lo siguiente que me piden: (copio y pego):
Por otro lado, vamos a completar dicha relaci´on almacenando en las tarjetas, la cuenta a la que est´an asociadas. Para ello
debemos modificar la clase Tarjeta a˜nadiendo un nuevo atributo cuenta que debe permitir almacenar un objeto de la nueva
clase Cuenta. Adem´as, se debe crear un nuevo m´etodo en la clase Tarjeta, que nos permita asociar una cuenta a una tarjeta.
Para ello mi código es el siguiente (no os asustéis, es muy sencillo y lo único que hace falta es el constructor prácticamente.
CLASE CUENTA
public class Cuenta
{
// instance variables - replace the example below with your own
public static int númerodecuenta;
public int saldodecuenta;
private ArrayList<Tarjeta> Tarjetas;
// private Tarjeta Tarjetas[];
public Cuenta(int cantidad_de_dinero_a_ingresar, int número_de_cuenta)
{
// Distintos constructores de la clase Cuenta.
{if (número_de_cuenta >=0)
númerodecuenta = número_de_cuenta;
else
System.out.println (" Error, debe poner un número mayor que 0 ");}
{if (número_de_cuenta >0)
saldodecuenta = cantidad_de_dinero_a_ingresar;
else
System.out.println (" Error, no se puede ingresar una cantidad negativa ");}
Tarjetas = new ArrayList<Tarjeta> ();
//Tarjetas= new Tarjeta[limite_de_Tarjetas];
}
public int consultar_saldo_cuenta ()
{
// Retorna el número de cuenta
return saldodecuenta;
}
public void asociar_Tarjeta (Tarjeta VisaOro)
{
// Asociar una tarjeta a la cuenta
if (Tarjetas.contains(VisaOro)== true)
System.out.println (" Tarjeta asociada a cuenta ");
else
Tarjetas.add(VisaOro);
}
public void eliminar_Tarjeta(int numero_tarjeta)
{
for (int i=0; i<Tarjetas.size(); i++)
{
if (Tarjetas.get(i).obtener_numero_de_tarjeta() == numero_tarjeta)
Tarjetas.remove(i);
}
}
public void retirada_de_dinero_en_efectivo (int cantidad)
{
// Sacar dinero de la cuenta
if (cantidad > 0)
{
if (cantidad <= saldodecuenta)
{
saldodecuenta = saldodecuenta-cantidad;
System.out.println (" BANCAJA");
System.out.println("Le informa que el saldo de su cuenta " + saldodecuenta);
System.out.println(" Gracias.");
}
else if (cantidad > saldodecuenta)
{
System.out.println (" BANCAJA");
System.out.println("Le informa que la cantidad introducida no puede ser superior al saldo disponible " );
System.out.println(" Gracias.");
}
else if (cantidad < 0)
{
System.out.println (" BANCAJA");
System.out.println("Le informa que la cantidad introducida no puede ser una cantidad negativa " );
System.out.println(" Gracias.");
}
}
}
public void ingresar_dinero_en_efectivo(int cantidad)
{
// Ingresar dinero a la cuenta
if (cantidad>0)
{saldodecuenta = saldodecuenta+cantidad;
System.out.println (" BANCAJA");
System.out.println("Le informa que el saldo de su cuenta " + saldodecuenta);
System.out.println(" Gracias.");}
else
{ System.out.println (" BANCAJA");
System.out.println("Le informa que la cantidad introducida no puede ser una cantidad negativa " );
System.out.println(" Gracias.");}
}
public int consulta_número_de_cuenta()
{
// Consultar número de cuenta.
return númerodecuenta;
}}
CLASE TARJETA
private int numeroderegistro;
private int codigopin;
private int limitediario;
private Cuenta cuenta1;
public Tarjeta(int numerodetarjeta, int pin, int limitedetarjeta)
{
// Distintos construtores de la Tarjeta.
{if (numerodetarjeta>0)
this.numeroderegistro = numerodetarjeta;
else
System.out.println ( " Error el numero de la tarjeta debe ser mayor que 0 ");}
{if (pin>0)
this.codigopin = pin;
else
System.out.println ( " Error el codigo pin debe ser mayor que 0 ");}
{if (limitedetarjeta>0)
this.limitediario = limitedetarjeta;
else
System.out.println ( " Error el limite de la tarjeta debe ser mayor que 0 ");}
}
public int obtener_numero_de_tarjeta()
{
// Obtienes el numero de registro de la tarjeta.
return numeroderegistro;
}
public int obtener_pin()
{
return codigopin;
}
public int obtener_limite_diario()
{
return limitediario;
}
public void asociar_Cuenta(Cuenta cuenta1)
{
// Asociar una tarjeta a la cuenta
cuenta1 = new Cuenta (cuenta1.saldodecuenta,cuenta1.númerodecuenta);
}
public void cambio_codigo_pin(int nuevopin)
{
{
codigopin = nuevopin;}
}
public void cambio_limite_diario(int nuevolimitediario)
{
if (nuevolimitediario >0)
{limitediario = nuevolimitediario;}
else
{System.out.println (" ERROR");
System.out.println (" BANCAJA");
System.out.println("Le informa que la cantidad del nuevo límite diario tienen que ser mayor que 0 €.");
System.out.println(" Gracias.");}
}
public void aumentar_limite_diario(int cantidad )
{
// Aumenta el limite diario la cantidad que pongamos siempre que sea mayor que cero.
if (cantidad >0)
{{limitediario = limitediario + cantidad;}
{System.out.println (" BANCAJA ");
System.out.println(" El limite diario de su tarjeta es " + limitediario + "€" );
System.out.println(" Gracias.");}}
if (cantidad <0)
{System.out.println (" ERROR");
System.out.println (" BANCAJA");
System.out.println("Le informa que la cantidad que incrementa el límite diario tienen que ser mayor que 0 €.");
System.out.println(" Gracias.");}
}
public void disminuir_limite_diario(int cantidad)
{
// Disminuye el limite diario la cantidad que pongamos siempre que sea mayor que cero.
if (cantidad >0)
if (cantidad < limitediario)
{{limitediario = limitediario - cantidad;}
{System.out.println (" BANCAJA ");
System.out.println(" El limite diario de su tarjeta es " + limitediario + "€" );
System.out.println(" Gracias.");}}
if (cantidad <0)
{System.out.println (" ERROR");
System.out.println (" BANCAJA");
System.out.println("Le informa que la cantidad que disminuye el límite diario tienen que ser mayor que 0 €.");
System.out.println(" Gracias.");}
{ if (cantidad >= limitediario)
{System.out.println (" ERROR");
System.out.println (" BANCAJA");
System.out.println("Le informa que la cantidad no puede ser superior o igual al limite diario actual.");
System.out.println(" Gracias.");}}
}
public void sacar_dinero_en_efectivo(int cantidad)
{
// Sacar dinero de la cuenta.
//cuenta1.retirada_de_dinero_en_efectivo;
System.out.println (" BANCAJA ");
System.out.println(" El limite diario de su tarjeta es " + limitediario + "€" );
System.out.println(" Gracias.");
// else
{System.out.println (" ERROR");
System.out.println (" BANCAJA");
System.out.println("Le informa que la cantidad no puede ser superior a su saldo, ni puede tomar ningun valor negativo.");
System.out.println(" Gracias.");}
}
Pues voilá!!!!! No sé hacer bien lo que me dice de asociar una tarjeta a una cuenta! (el enunciado que he puesto)
Os agredecería mucho vuestra ayuda!!!!
Saludos!