Академический Документы
Профессиональный Документы
Культура Документы
OBJETIVOS:
REQUERIMIENTOS:
PC con Windows.
jdk-6u10-windows-i586-p.exe
netbeans-6.5-ml-windows.exe
a. Cree un nuevo proyecto de tipo Java Application y en la opcin Project Name coloque
pCuenta, y en la opcin Create Main Class coloque: pcuenta. CCuentaMain, luego haga
click en Finish.
b. Ahora tenemos que crear la clase CFecha, para lo cual haga click derecho sobre el
package pcuenta ubicada en la parte izquierda superior del NetBeans, selecione la opcin
New, luego haga click en Java Class. El NetBeans le mostrar la Ventana New Java Class,
en la opcin Class Name coloque CFecha, fijese que el archivo que se va a crear pertenece
al proyecto pCuenta y al Package pcuenta, luego haga click en Finish.
import java.util.*;
public class CFecha
{
// Atributos
private int da, mes, ao;
private static CFecha fechaPorOmision;
static
{
// Iniciacin de los atributos static de la clase
fechaPorOmision = new CFecha(18, 5, 2009);
}
// Mtodos
static void asignarFechaPorOmision(int dd, int mm, int aaaa)
{
fechaPorOmision.asignarFecha(dd, mm, aaaa);
}
public CFecha(int... fecha)
{
asignarFecha(); // asignar fecha actual
d. Ahora tenemos que crear la clase abstracta CCuenta, para lo cual haga click derecho
sobre el package pcuenta ubicada en la parte izquierda superior del NetBeans, selecione la
opcin New, luego haga click en Java Class. El NetBeans le mostrar la Ventana New Java
Class, en la opcin Class Name coloque CCuenta, fijese que el archivo que se va a crear
pertenece al proyecto pCuenta y al Package pcuenta, luego haga click en Finish.
// Mtodos
public CCuenta() {};
public CCuenta(String nom, String cue, double sal, double tipo)
{
asignarNombre(nom);
asignarCuenta(cue);
ingreso(sal);
asignarTipoDeInters(tipo);
}
public CCuenta(final CCuenta c)
{
copiar(c);
}
public CCuenta copiar(final CCuenta c)
{
nombre = c.nombre;
cuenta = c.cuenta;
saldo = c.saldo;
tipoDeInters = c.tipoDeInters;
return this;
}
public boolean asignarNombre(String nom)
{
if (nom.length() == 0)
{
System.out.println("Error: cadena vaca");
return false;
}
nombre = nom;
return nom.length() != 0;
}
public String obtenerNombre()
{
return nombre;
}
public boolean asignarCuenta(String cue)
{
if (cue.length() == 0)
{
System.out.println("Error: cuenta no vlida");
f. Ahora tenemos que crear la subclase CCuentaAhorro que Hereda de la clase abstracta
CCuenta, para lo cual haga click derecho sobre el package pcuenta ubicada en la parte
izquierda superior del NetBeans, selecione la opcin New, luego haga click en Java Class.
El NetBeans le mostrar la Ventana New Java Class, en la opcin Class Name coloque
CCuentaAhorro, fijese que el archivo que se va a crear pertenece al proyecto pCuenta y al
Package pcuenta, luego haga click en Finish.
// Mtodos
public CCuentaAhorro() {} // constructor sin parmetros
public CCuentaAhorro(String nom, String cue, double sal, double tipo, double mant)
{
super(nom, cue, sal, tipo); // invoca al constructor CCuenta
asignarCuotaManten(mant); // inicia cuotaMantenimiento
}
public CCuentaAhorro(final CCuentaAhorro ca)
{
copiar(ca);
}
public CCuentaAhorro copiar(final CCuentaAhorro ca)
{
super.copiar(ca);
cuotaMantenimiento = ca.cuotaMantenimiento;
return this;
}
public CCuentaAhorro clone()
{
return new CCuentaAhorro(this);
}
protected void finalize() throws Throwable // destructor
{
// Ninguna operacin
super.finalize(); // invocar al mtodo finalize de la superclase
}
public boolean asignarCuotaManten(double cantidad)
{
if (cantidad < 0)
{
System.out.println("Error: cantidad negativa");
return false;
}
cuotaMantenimiento = cantidad;
return cantidad >= 0;
}
public double obtenerCuotaManten()
{
return cuotaMantenimiento;
}
public void comisiones()
{
// Se aplican mensualmente por el mantenimiento de la cuenta
int[] fa = CFecha.obtenerFechaActual(); // da, mes y ao
if (fa[0] == 1)
reintegro(cuotaMantenimiento); // fa[0] => da
}
public double intereses()
{
int[] fa = CFecha.obtenerFechaActual(); // da, mes y ao
cliente01.asignarNombre("Un nombre");
cliente01.asignarCuenta("Una cuenta");
cliente01.asignarTipoDeInters(2.5);
cliente01.asignarCuotaManten(300);
cliente01.ingreso(1000000);
cliente01.reintegro(500000);
cliente01.comisiones();
System.out.println(cliente01.obtenerNombre());
System.out.println(cliente01.obtenerCuenta());
System.out.println(cliente01.estado());
System.out.println(cliente01.obtenerTipoDeInters());
}
}
Resultados:
// Mtodos
public CCuentaCorriente() {} // constructor sin parmetros
// Acumular los intereses por mes slo los das 1 de cada mes
double interesesProducidos = 0.0;
// Hasta 3000 soles al 0.5%. El resto al inters establecido.
if (estado() <= 3000)
interesesProducidos = estado() * 0.5 / 1200.0;
else
{
interesesProducidos = 3000 * 0.5 / 1200.0 +
(estado() - 3000) * obtenerTipoDeInters() / 1200.0;
}
ingreso(interesesProducidos);
// Este ingreso no debe incrementar las transacciones
decrementarTransacciones();
System.out.println(cliente01.obtenerNombre());
System.out.println(cliente01.obtenerCuenta());
System.out.println(cliente01.estado());
System.out.println(cliente01.obtenerTipoDeInters());
System.out.println(cliente01.intereses());
cliente02.ingreso(20000);
cliente02.reintegro(10000);
cliente02.intereses();
cliente02.comisiones();
System.out.println(cliente02.obtenerNombre());
System.out.println(cliente02.obtenerCuenta());
System.out.println(cliente02.estado()); }
}
Resultados: