Вы находитесь на странице: 1из 86

UNIVERSIDAD DE COSTA RICA

(UCR)
IF-2000 PROGRAMACION I
PROYECTO PROGRAMADO N°2
PROFESOR
KENNETH SÁNCHEZ SÁNCHEZ
ESTUDIANTES:
Joseph Bustos López .................................................................. Carné: B81340
José Alberto Hernández Ordoñez ............................................... Carné B83798
Descripción del problema.

La entidad financiera ACAMP S.A lo contrata porque requiere un sistema que


utilizando la metodología de POO permita Capturar, Mostrar, Buscar, Almacenar y
Recuperar la información de todos los clientes y su respectiva operación crediticia
que desee ejecutar. La información relevante para cada operación de cada cliente
está compuesta de los siguientes datos: Empleado (DNI, Nombre, Sección
(Plataforma, Cajero, Servicio al Cliente). Cliente (DNI, Nombre, Tipo (Físico o
Jurídico (Nombre del Accionista mayor y razón social), Monto financiamiento
crediticio), Operación crediticia a realizar. Dentro del tipo de operaciones se
encuentran: Tarjeta crédito, esta contiene Nº de tarjeta, Monto límite de tarjeta,
Tasa de interés (55%), Plazo de crédito fijo (72 meses), Monto gastado, Cuota a
pagar ((Monto gastado+(Monto gastado*Tasa de interés))/Plazo de crédito fijo) ,
Saldo (Monto gastado – Cuota a pagar).
Otro tipo de operación es PYMES que consta de: N° de operación, Interés fijo
PYMES (5%), Monto de crédito, Plazo en meses (84), Tasa de interés (9%),
Cuota a pagar ((Monto de crédito + (Monto de financiamiento crediticio*interés
fijo) + (Monto de crédito*tasa de interés))/plazo en meses), Saldo (Monto de
crédito – Cuota a pagar). Existe la operación Préstamo Personal, la cual posee
los mismos datos que PYMES excepto el interés fijo PYMES, por lo que éste
cálculo (Monto de financiamiento crediticio*interés fijo) en la operación no va.
Para la operación Préstamo Vivienda se tienen todos los datos de PYMES, pero
además consta de Tipo de Hipoteca que puede ser Fiduciaria (Nombre, DNI,
Salario neto) o puede ser Registral (Monto de Valor registral en ₡, Tamaño en
mts, ubicación de la propiedad). Herramientas de desarrollo
Hardware

Máquina 1
Computadora: Marca Dell
Modelo: Inspiron 4030
Memoria instalada (RAM): 4,00 GB (3,80 GB utilizable)
Procesador: Intel® Core™ i3 CPU M 380 @ 2.53GHz 2.53GHz

Máquina 2
Computadora: Marca Dell
Destop P2B4-KIL
Memoria instalada (RAM): 4,00 GB (3,80 GB utilizable)
Procesador: Intel® Core™ i3 CPU M 380 @ 2.00GHz 2.00GHz

Software

Tipo de sistema: Sistema operativo de 64 bits


Sistema operativo: Windows 7 Ultimate
Entorno de desarrollo de java: Eclipse Java Latest Released
Entorno de desarrollo de la documentación externa: Microsoft Word 2010
Descripción de datos de mayor importancia
Clase Padre: Operaciones
Subclases:
TarjetaCredito
Pymes
PrestamoPersonal
PrestamoVvienda

Arreglos:
Operaciones O[]=new Operaciones[10];
Variables globales:
int ContadorA=0;
int CodA=1;
Agregaciones:
Cliente C = new Cliente ();
Empleado E=new Empleado();
Objetos:
TarjetaCredito TC=new TarjetaCredito();
Pymes PY=new Pymes();
PrestamoPersonal PP=new PrestamoPersonal();
PrestamoVivienda PV=new PrestamoVivienda();
Corrida del programa con datos suministrados
Inicio del Menu
Ingrese de Informacion
Código:

CLIENTE

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.io.Serializable;

import javax.swing.ButtonGroup;

import javax.swing.JButton;

import javax.swing.JDesktopPane;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JRadioButton;

import javax.swing.JTextField;

public class Cliente implements Serializable{

private static final long serialVersionUID = 1L;

//Atributos

public int DNIcliente; // DNI de cliente

public String Nombre; // nombre del empleado

public String tipo; // tipo de cliente


public double Monto_Financiamientocrediticio; // Monto Total

JFrame ma;//marco

JDesktopPane escritorio;//escritorio

JButton aceptar;//boton de aceptar

JLabel dni, nomb, tip, montoalcr;//etiquetas

JTextField dnicli,nom, tipoo, montoc;//campos de textos

protected JRadioButton FISI,JURI;

ButtonGroup boton,botem;

protected int TC;//para llevar el control del tipo de Cliente...

public Cliente() { // constructor... vacio

}//fin del constructor

public JLabel getMontoalcr() {

return montoalcr;

public void setMontoalcr(JLabel montoalcr) {

this.montoalcr = montoalcr;

}
public JTextField getMontoc() {

return montoc;

public void setMontoc(JTextField montoc) {

this.montoc = montoc;

public int getDNIcliente() {

return DNIcliente;

public void setDNIcliente(int dNI) {

DNIcliente = dNI;

public String getNombre() {

return Nombre;

public void setNombre(String nombre) {

Nombre = nombre;

public String getTipo() {


return tipo;

public void setTipo(String tipo) {

this.tipo = tipo;

public double getMonto_alC() {

return Monto_Financiamientocrediticio;

public void setMonto_alC(double monto_alC) {

Monto_Financiamientocrediticio= monto_alC;

public JFrame getMa() {

return ma;

public void setMa(JFrame ma) {

this.ma = ma;

public JDesktopPane getEscritorio() {

return escritorio;
}

public void setEscritorio(JDesktopPane escritorio) {

this.escritorio = escritorio;

public JButton getAceptar() {

return aceptar;

public void setAceptar(JButton aceptar) {

this.aceptar = aceptar;

public void setDni(JLabel dni) {

this.dni = dni;

public JLabel getNomb() {

return nomb;

public void setNomb(JLabel nomb) {

this.nomb = nomb;
}

public JTextField getDnI() {

return dnicli;

public void setDnI(JTextField dnI) {

this.dnicli = dnI;

public JTextField getNom() {

return nom;

public void setNom(JTextField nom) {

this.nom = nom;

public void Ingresar(){

ma= new JFrame();

escritorio=new JDesktopPane();

escritorio.setLayout(null);
escritorio.setBackground(new Color(99, 84, 65));

aceptar= new JButton("Aceptar");

dni= new JLabel("Ingrese el Dni del cliente:");

dnicli= new JTextField();

nomb= new JLabel("Ingrese el nombre del cliente: ");

nom= new JTextField();

montoalcr =new JLabel("Ingrese el monto Financiamiento crediticio:");

montoc = new JTextField();

tip=new JLabel("ingrese el tipo de cliente:");

boton=new ButtonGroup();

FISI=new JRadioButton("FÍsico");

JURI=new JRadioButton("JurÍdico");

boton.add(FISI);

boton.add(JURI);

escritorio.setBounds(5, 0, 200, 200);

aceptar.setBounds(5, 400, 100, 30);

nomb.setBounds(5, 10, 300, 50);

nom.setBounds(5, 50, 175, 30);

dni.setBounds(5,70,300,50);

dnicli.setBounds(5, 110, 175, 30);


montoalcr.setBounds(5,160, 500, 30);

montoc.setBounds (5,190,200, 30);

tip.setBounds(5,255,200,30);

FISI.setBounds(5,300,200,30);

JURI.setBounds(5,330,200,30);

aceptar.setForeground(Color.black);

nomb.setForeground(Color.white);

nom.setForeground(Color.black);

dni.setForeground(Color.white);

dnicli.setForeground(Color.black);

montoalcr.setForeground(Color.white);

montoc.setForeground(Color.black);

tip.setForeground(Color.white);

escritorio.add(nomb);

escritorio.add(nom);

escritorio.add(dni);

escritorio.add(dnicli);

escritorio.add(montoalcr);

escritorio.add(montoc);

escritorio.add(aceptar);

escritorio.add(tip);
escritorio.add(JURI);

escritorio.add(FISI);

aceptar.setForeground(Color.black);

ma.add(escritorio);

ma.add(escritorio);

ma.setTitle("Cliente: ");

ma.setSize(500, 500);

ma.setLocation(400,24);

ma.setVisible(true);

dnicli.addKeyListener(new KeyAdapter()

public void keyTyped(KeyEvent e)

if (dnicli.getText().length()<10) {

} else {

e.setKeyChar('\0');

char caracter = e.getKeyChar();


if(((caracter < '0') ||

(caracter > '9')) &&

(caracter != KeyEvent.VK_BACK_SPACE))

e.consume();

});//SOLO INGRESO DE NUMEROS

montoc.addKeyListener(new KeyAdapter()

public void keyTyped(KeyEvent e)

if (montoc.getText().length()<10) {

} else {

e.setKeyChar('\0');

char caracter = e.getKeyChar();

if(((caracter < '0') ||


(caracter > '9')) &&

(caracter != KeyEvent.VK_BACK_SPACE))

e.consume();

});//SOLO INGRESO DE NUMEROS

aceptar.addActionListener(

new ActionListener(){

public void actionPerformed(ActionEvent e){

setNombre(nom.getText());

setDNIcliente(Integer.parseInt(dnicli.getText()));

setMonto_alC(Double.parseDouble(montoc.getText()));

if (FISI.isSelected()){

tipo="Físico";}

if (JURI.isSelected()){
tipo="Jurídico";}

ma.setVisible(false);

}//fin action performed

});//fin action listener

}//Fin de ingresar

public String Mostrar(){

String resultado = "";

resultado = "\nCliente "+

"\nNombre: " +getNombre()+

"\nDni: " +getDNIcliente()+

"\nTipo de cliente: " + getTipo()+


"\nMonto alcance de credito : " + getMonto_alC();

return resultado;

}
Empleado
import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.Serializable;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JDesktopPane;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

public class Empleado implements Serializable {

private static final long serialVersionUID = 1L;

public String DNI; //DNI del empleado

public String Nombre; //Nombre del empleado

public String seccion; // Sección (plataforma, cajero, servicio plataforma)

JFrame ma;//marco

JDesktopPane escritorio;//escritorio

JButton aceptar;//boton de aceptar

public JComboBox<String> combo2;

JLabel dni, nomb, sec, montoalcr;//etiquetas

JTextField dnI,nom, secc, montoc;//campos de textos


public Empleado() {//constructor... vacio

}//fin del constructor

//-----------------------------------------------------------------------------------------------

//obtener y cambiar

public String getDNI() {//metodo para obtener DNI

return DNI;

}//fin del metodo para obtener DNI

public void setDNI(String dNI) {//metodo para cambiar el DNI

DNI = dNI;

}//Fin del metodo para cambiar el DNI

public String getNombre() {//metodo para obtener Nombre

return Nombre;

}//fin del metodo para obtener Nombre

public void setNombre(String nombre) {//metodo para cambiar Nombre

Nombre = nombre;

}//fin del metodo para cambiar Nombre


public String getSeccion() {//metodo para obtener seccion

return seccion;

}//fin del metodo para obtener seccion

public void setSeccion(String seccion) {//metodo pra cambiar Seccion

this.seccion = seccion;

}//fin del metodo pra cambiar Seccion

public JFrame getMa() {//metodo para obtener JFrame Ma

return ma;

}//fin del metodo para obtener JFrame Ma

public void setMa(JFrame ma) {//metodo para cambiar JFrame Ma

this.ma = ma;

}//fin del metodo para cambiar JFrame Ma

public JDesktopPane getEscritorio() {//metodo para obtener JDesktopPane


Escritorio

return escritorio;

}//fin del metodo para obtener JDesktopPane Escritorio

public void setEscritorio(JDesktopPane escritorio) {//metodo para cambar


JDesktopPane Escritorio

this.escritorio = escritorio;

}//fin del metodo para cambar JDesktopPane Escritorio


public JButton getAceptar() {//metodo para obtener JButton Aceptar

return aceptar;

}//fin del metodo para obtener JButton Aceptar

public void setAceptar(JButton aceptar) {//metodo para cambiar JButton


Aceptar

this.aceptar = aceptar;

}//fin del metodo para cambiar JButton Aceptar

public JComboBox<String> getCombo2() {//metodo para obtener


JComboBox<String> Combo2

return combo2;

}//fin del metodo para obtener JComboBox<String> Combo2

public void setCombo2(JComboBox<String> combo2) {//metodo para


cambiar JComboBox<String> Combo2

this.combo2 = combo2;

}//fin del metodo para cambiar JComboBox<String> Combo2

public JLabel getDni() {//metodo para obtener JLabel Dni

return dni;

}//fin del metodo para obtener JLabel Dni

public void setDni(JLabel dni) {//metodo para cambiar JLabel Dni


this.dni = dni;

}//fin del metodo para cambiar JLabel Dni

public JLabel getNomb() {//metodo para obtener JLabel Nomb

return nomb;

}//fin del metodo para obtener JLabel Nomb

public void setNomb(JLabel nomb) {//metodo para cambiar JLabel Nomb

this.nomb = nomb;

}//fin del metodo para cambiar JLabel Nomb

public JLabel getSec() {//metodo para obtener JLabel Sec

return sec;

}//fin del metodo para obtener JLabel Sec

public void setSec(JLabel sec) {//metodo para cambiar JLabel Sec

this.sec = sec;

}//fin del metodo para cambiar JLabel Sec

public JLabel getMontoalcr() {//metodo para obtener JLabel Montoalcr

return montoalcr;

}//fin del metodo para obtener JLabel Montoalcr

public void setMontoalcr(JLabel montoalcr) {//metodo para cambiar JLabel


Montoalcr
this.montoalcr = montoalcr;

}//fin del metodo para cambiar JLabel Montoalcr

public JTextField getDnI() {//metodo para obtener JTextField DnI

return dnI;

}//fin del metodo obtener JTextField DnI

public void setDnI(JTextField dnI) {//metodo para obtener JTextField DnI

this.dnI = dnI;

}//fin del metodo para obtener JTextField DnI

public JTextField getNom() {//metodo para obtener JTextField Nom

return nom;

}//fin del metodo para obtener JTextField Nom

public void setNom(JTextField nom) {//metodo para cambiar JTextField


Nom

this.nom = nom;

}//fin del metodo para cambiar JTextField Nom

public JTextField getSecc() {//metodo para obtener

return secc;

public void setSecc(JTextField secc) {


this.secc = secc;

public JTextField getMontoc() {//metodo para obtener JTextField Montoc

return montoc;

public void setMontoc(JTextField montoc) {

this.montoc = montoc;

}//

//-----------------------------------------------------------------------------------------------

public void Ingresar(){//inicio del metodo ingresar

ma= new JFrame();//marco

escritorio=new JDesktopPane();//escrito

escritorio.setLayout(null);

aceptar= new JButton("Aceptar");

dni= new JLabel("Ingrese el Dni del empleado:");

dnI= new JTextField();

nomb= new JLabel("Ingrese el nombre del empleado: ");

nom= new JTextField();


sec=new JLabel("Digite la seccion:");

combo2=new JComboBox<String>();

combo2.setBounds(5,250,150,30);

escritorio.add(combo2);

combo2.addItem("plataforma");

combo2.addItem("Cajero");

combo2.addItem("Servicio al cliente");

escritorio.setBounds(5, 0, 400, 400);

aceptar.setBounds(5, 270, 100, 30);

nomb.setBounds(5, 10, 300, 50);

nom.setBounds(5, 50, 175, 30);

dni.setBounds(5,70,300,50);

dnI.setBounds(5, 110, 175, 30);

sec.setBounds(5,155,200,30);

combo2.setBounds(5,195,150,30);

aceptar.setForeground(Color.BLACK);

nomb.setForeground(Color.WHITE);

nom.setForeground(Color.black);

dni.setForeground(Color.WHITE);

dnI.setForeground(Color.black);
sec.setForeground(Color.WHITE);

escritorio.add(nomb);

escritorio.add(nom);

escritorio.add(dni);

escritorio.add(dnI);

escritorio.add(aceptar);

escritorio.add(sec);

escritorio.setBackground(new Color(99, 84, 65));

aceptar.setForeground(Color.black);

ma.add(escritorio);

ma.add(escritorio);

ma.setTitle("EMPLEADO");

ma.setSize(500, 500);

ma.setLocation(400,24);

ma.setVisible(true);

aceptar.addActionListener(

new ActionListener(){
public void actionPerformed(ActionEvent e){

setNombre(nom.getText());

setDNI(dnI.getText());

setSeccion((String)
combo2.getSelectedItem());

ma.setVisible(false);

}//fin action performed

});//fin action listener

}//Fin del ingresar

//-----------------------------------------------------------------------------------------------

public String Mostrar(){

String resultado = "";

resultado = "\nEmpleado "+

"\nNombre: " +getNombre()+


"\nDni: " +getDNI()+

"\nSeccion: " + getSeccion()+

"\n----------------------------------------------";

return resultado;

}//Fin de la clase

Operaciones

import java.io.Serializable;

public abstract class Operaciones implements Serializable {

Cliente C=new Cliente();


Empleado E=new Empleado();

public Operaciones() {}
public Operaciones(Cliente c, Empleado e) {
super();
C = c;
E = e;
}
public Cliente getC() {
return C;
}
public void setC(Cliente c) {
C = c;
}
public Empleado getE() {
return E;
}
public void setE(Empleado e) {
E = e;
}

public abstract void Ingresar();


public abstract String Mostrar();
public abstract double CalculoCuotaPagar();
public abstract double CalculoSaldo();

Prestamo Personal

import java.io.Serializable;

public class PrestamoPersonal extends Pymes implements Serializable {


public PrestamoPersonal() {}

public void Ingresar() {

super.Ingresar();

public double CalculoCuotaPagar(){


super.setCuota_pagar(super.getMontocrédito() +

(super.getMontocrédito()*(super.getTasa_interés()/100))/super.getPlazo_m
eses());
return super.getCuota_pagar();}

public double calcularsaldo(){

return super.CalculoSaldo();

}
public String Mostrar() {

return super.Mostrar();
}

Prestamo Vivienda

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.Serializable;

import javax.swing.ButtonGroup;

import javax.swing.JButton;

import javax.swing.JDesktopPane;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JRadioButton;

import javax.swing.JTextField;

import javax.swing.UIManager;

public class PrestamoVivienda extends Pymes implements Serializable{

private static final long serialVersionUID = 1L;

public String tipo_hipoteca;

public String NombreFiador;


public String DNIFiador;

public double Salario_netoFiador;

public double Valor_registral;

public int Tamaño_mts22;

public String ubicación_propiedad;

public int OPCION;

JFrame ma;//marco

JDesktopPane escritorio;//escritorio

JButton aceptar;//boton de aceptar

JLabel tiph,nom,dNi, sal, val, tam, ubip;//etiquetas

JTextField nomb, DnI, saln, Valr, tams, ubi;//campos de textos

protected JRadioButton Fiador,Propiedad,fia,prop ;

ButtonGroup botom;

public PrestamoVivienda() {

// TODO Auto-generated constructor stub

public String getTipo_hipoteca() {

return tipo_hipoteca;

public void setTipo_hipoteca(String tipo_hipoteca) {


this.tipo_hipoteca = tipo_hipoteca;

public String getNombre() {

return NombreFiador;

public void setNombre(String nombre) {

NombreFiador = nombre;

public String getDNI() {

return DNIFiador;

public void setDNI(String dNI) {

DNIFiador = dNI;

public double getSalario_neto() {

return Salario_netoFiador;

}
public void setSalario_neto(double salario_neto) {

Salario_netoFiador = salario_neto;

public double getValor_registral() {

return Valor_registral;

public void setValor_registral(double valor_registral) {

Valor_registral = valor_registral;

public int getTamaño_mts22() {

return Tamaño_mts22;

public void setTamaño_mts22(int tamaño_mts22) {

Tamaño_mts22 = tamaño_mts22;

public String getUbicación_propiedad() {

return ubicación_propiedad;

public void setUbicación_propiedad(String ubicación_propiedad) {


this.ubicación_propiedad = ubicación_propiedad;

public JFrame getMa() {

return ma;

public void setMa(JFrame ma) {

this.ma = ma;

public JDesktopPane getEscritorio() {

return escritorio;

public void setEscritorio(JDesktopPane escritorio) {

this.escritorio = escritorio;

public JButton getAceptar() {

return aceptar;

public void setAceptar(JButton aceptar) {

this.aceptar = aceptar;
}

public JLabel getTiph() {

return tiph;

public void setTiph(JLabel tiph) {

this.tiph = tiph;

public JLabel getNom() {

return nom;

public void setNom(JLabel nom) {

this.nom = nom;

public JLabel getdNi() {

return dNi;

public void setdNi(JLabel dNi) {

this.dNi = dNi;

}
public JLabel getSal() {

return sal;

public void setSal(JLabel sal) {

this.sal = sal;

public JLabel getVal() {

return val;

public void setVal(JLabel val) {

this.val = val;

public JLabel getTam() {

return tam;

public void setTam(JLabel tam) {

this.tam = tam;

}
public JLabel getUbip() {

return ubip;

public void setUbip(JLabel ubip) {

this.ubip = ubip;

public JTextField getNomb() {

return nomb;

public void setNomb(JTextField nomb) {

this.nomb = nomb;

public JTextField getDnI() {

return DnI;

public void setDnI(JTextField dnI) {

DnI = dnI;

public JTextField getSaln() {


return saln;

public void setSaln(JTextField saln) {

this.saln = saln;

public JTextField getValr() {

return Valr;

public void setValr(JTextField valr) {

Valr = valr;

public JTextField getTams() {

return tams;

public void setTams(JTextField tams) {

this.tams = tams;

public JTextField getUbi() {

return ubi;
}

public void setUbi(JTextField ubi) {

this.ubi = ubi;

public JRadioButton getFiador() {

return Fiador;

public void setFiador(JRadioButton fiador) {

Fiador = fiador;

public JRadioButton getPropiedad() {

return Propiedad;

public void setPropiedad(JRadioButton propiedad) {

Propiedad = propiedad;

public JRadioButton getFia() {

return fia;

}
public void setFia(JRadioButton fia) {

this.fia = fia;

public JRadioButton getProp() {

return prop;

//-----------------------------------------------------------------------------------------------------------
---------------------

public void Ingresar(){

ma= new JFrame();

escritorio=new JDesktopPane();

escritorio.setLayout(null);

aceptar= new JButton("Aceptar");

tiph=new JLabel("Tipo de hipoteca:");

//Radiobuttom
botom=new ButtonGroup();

Fiador=new JRadioButton("Fiador");

botom.add(Fiador);

Propiedad=new JRadioButton("Propiedad");

botom.add(Propiedad);

escritorio.add(Fiador);

escritorio.add(Propiedad);

Fiador.setBounds(5, 50, 175, 30);

Propiedad.setBounds(5,90,175,30);

tiph.setBounds(5, 10, 300, 50);

// activo.setBounds(5, 50, 175, 30);

//moroso.setBounds(5,90,175,30);

aceptar.setBounds(5, 300, 100, 30);

tiph.setForeground(Color.blue);

aceptar.setForeground(Color.MAGENTA);
//activo.setForeground(Color.BLACK);

//moroso.setForeground(Color.BLACK);

escritorio.add(aceptar);

escritorio.add(tiph);

escritorio.setBackground(new Color(99, 84, 65));

aceptar.setForeground(Color.blue);

ma.add(escritorio);

ma.add(escritorio);

ma.setTitle("Prestamo Vivienda: ");

ma.setSize(500, 500);

ma.setLocation(400,24);

ma.setVisible(true);

super.Ingresar();

aceptar.addActionListener(

new ActionListener(){

public void actionPerformed(ActionEvent e){

if (Fiador.isSelected()){
UIManager UI=new
UIManager();

UI.put("OptionPane.background", new Color(99, 84, 65));

UI.put("Panel.background", new Color(99, 84, 65));

UI.put("Tooltip.foreground",new Color(99, 84, 65));

UI.put("OptionPane.messageForeground", Color.WHITE);

JOptionPane.showMessageDialog(null,"DATO-INFORMACION DEL
FIADOR");//salida de mensaje

NombreFiador=JOptionPane.showInputDialog(null,"Ingrese el nombre del


fiador: ");

DNIFiador=JOptionPane.showInputDialog(null,"Ingrese el DNI del fiador: ");

Salario_netoFiador=Double.parseDouble(JOptionPane.showInputDialog(nu
ll,"Ingrese el salario neto del fiador: "));

OPCION=1;

}
if(Propiedad.isSelected()){

UIManager
UI=new UIManager();

UI.put("OptionPane.background", new Color(99, 84, 65));

UI.put("Panel.background", new Color(99, 84, 65));

UI.put("Tooltip.foreground",new Color(99, 84, 65));

UI.put("OptionPane.messageForeground", Color.WHITE);

JOptionPane.showMessageDialog(null,"INFORMACION DE LA
PROPIEDAD");//salida de mensaje

Valor_registral=Double.parseDouble(JOptionPane.showInputDialog(null,"In
grese el valor registral de la propiedad: "));

Tamaño_mts22=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingre
se el tamaño (en mts): "));

ubicación_propiedad=JOptionPane.showInputDialog(null,"Ingrese la
ubicación de la propiedad: ");

OPCION=2;

}
ma.setVisible(false);

//fin action performed

});//fin action listener

}//fin del ingresar principal de la clase

//-----------------------------------------------------------------------------------------------------------
---------------------

public String Mostrar(){

String resultado = "";

if(OPCION==1){

resultado = super.Mostrar() +

"\nPrestamo de Vivienda "+

"\nNombre del fiador: " +getNombre()+

"\nDNI del fiador: " +getDNI()+

"\nSalario neto : " + getSalario_neto()


;

}//FIN DEL 1° IF

if(OPCION==2){

resultado =super.Mostrar() +

"\nPrestamo de Vivienda "+

"\nValor regidtral: "+ getValor_registral()+

"\nTamaño en metro cuadrados : "+


getTamaño_mts22()+

"\nUbicación: "+getUbicación_propiedad();

return resultado;

//-----------------------------------------------------------------------------------------------------------
---------------------

Pymes

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.io.Serializable;

import javax.swing.JButton;

import javax.swing.JDesktopPane;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

public class Pymes extends Operaciones implements Serializable{

private static final long serialVersionUID = 1L;

public int N_operación;

private double Interés_fijo=0.05;

public double Montocrédito;

public int Plazo_meses=84;

public double Tasa_interés=0.09;

public double Cuota_pagar;

public double Saldo;

JFrame ma;//marco

JDesktopPane escritorio;//escritorio

JButton aceptar;//boton de aceptar

JLabel numt, montc, plazin, tazi;//etiquetas


JTextField nut,motc, plaz, taz;//campos de textos

public Pymes() {//inicio del constructor... vacio

}//fin del constructor

public int getN_operación() {

return N_operación;

public void setN_operación(int n_operación) {

N_operación = n_operación;

public double getInterés_fijo() {

return Interés_fijo;

public void setInterés_fijo(double interés_fijo) {

Interés_fijo = interés_fijo;

}
public double getMontocrédito() {

return Montocrédito;

public void setMontocrédito(double montocrédito) {

Montocrédito = montocrédito;

public int getPlazo_meses() {

return Plazo_meses;

public void setPlazo_meses(int plazo_meses) {

Plazo_meses = plazo_meses;

public double getTasa_interés() {

return Tasa_interés;

}
public void setTasa_interés(double tasa_interés) {

Tasa_interés = tasa_interés;

public double getCuota_pagar() {

return Cuota_pagar;

public void setCuota_pagar(double cuota_pagar) {

Cuota_pagar = cuota_pagar;

public double getSaldo() {

return Saldo;

public void setSaldo(double saldo) {

Saldo = saldo;

}
public JFrame getMa() {

return ma;

public void setMa(JFrame ma) {

this.ma = ma;

public JDesktopPane getEscritorio() {

return escritorio;

public void setEscritorio(JDesktopPane escritorio) {

this.escritorio = escritorio;

public JButton getAceptar() {

return aceptar;

}
public void setAceptar(JButton aceptar) {

this.aceptar = aceptar;

public JLabel getNumt() {

return numt;

public void setNumt(JLabel numt) {

this.numt = numt;

public JLabel getMontc() {

return montc;

public void setMontc(JLabel montc) {

this.montc = montc;

}
public JLabel getPlazin() {

return plazin;

public void setPlazin(JLabel plazin) {

this.plazin = plazin;

public JLabel getTazi() {

return tazi;

public void setTazi(JLabel tazi) {

this.tazi = tazi;

public JTextField getNut() {

return nut;

}
public void setNut(JTextField nut) {

this.nut = nut;

public JTextField getMotc() {

return motc;

public void setMotc(JTextField motc) {

this.motc = motc;

public JTextField getPlaz() {

return plaz;

public void setPlaz(JTextField plaz) {

this.plaz = plaz;

}
public JTextField getTaz() {

return taz;

public void setTaz(JTextField taz) {

this.taz = taz;

public void Ingresar(){

C.Ingresar();

E.Ingresar();

ma= new JFrame();

escritorio=new JDesktopPane();

escritorio.setBackground(new Color(99, 84, 65));

escritorio.setLayout(null);

aceptar= new JButton("Aceptar");

numt= new JLabel("Ingrese el numero de operación:");

nut= new JTextField();

montc= new JLabel("Ingrese el monto credito : ");

motc= new JTextField();


escritorio.setBounds(5, 0, 400, 400);

aceptar.setBounds(5, 380, 100, 30);

numt.setBounds(5, 10, 300, 50);

nut.setBounds(5, 50, 175, 30);

montc.setBounds(5,80,300,50);

motc.setBounds(5,120,150,30);

escritorio.add(aceptar);

escritorio.add(numt);

escritorio.add(nut);

escritorio.add(montc);

escritorio.add(motc);

numt.setForeground(Color.WHITE);

nut.setForeground(Color.black);

montc.setForeground(Color.WHITE);

motc.setForeground(Color.black);

aceptar.setForeground(Color.black);

ma.add(escritorio);

ma.add(escritorio);

ma.setTitle(" PYMES: ");

ma.setSize(500, 500);
ma.setLocation(400,24);

ma.setVisible(true);

ma.setBackground(new Color(99, 84, 65));

nut.addKeyListener(new KeyAdapter()

public void keyTyped(KeyEvent e)

if (nut.getText().length()<10) {

} else {

e.setKeyChar('\0');

char caracter = e.getKeyChar();

if(((caracter < '0') ||

(caracter > '9')) &&

(caracter != KeyEvent.VK_BACK_SPACE))

e.consume();

});//SOLO INGRESO DE NUMEROS

motc.addKeyListener(new KeyAdapter()
{

public void keyTyped(KeyEvent e)

if (motc.getText().length()<10) {

} else {

e.setKeyChar('\0');

char caracter = e.getKeyChar();

if(((caracter < '0') ||

(caracter > '9')) &&

(caracter != KeyEvent.VK_BACK_SPACE))

e.consume();

});//SOLO INGRESO DE NUMEROS

aceptar.addActionListener(

new ActionListener(){

public void actionPerformed(ActionEvent


e){
setN_operación(Integer.parseInt(nut.getText()));

setMontocrédito(Double.parseDouble( motc.getText()));

ma.setVisible(false);

}//fin action performed

});//fin action listener

public double CalculoCuotaPagar(){

setCuota_pagar(getMontocrédito() +
(C.getMonto_alC()*(getInterés_fijo())) +

(getMontocrédito()*(getTasa_interés()/100))/getPlazo_meses());

return getCuota_pagar();}

public double CalculoSaldo(){

setSaldo(getMontocrédito()-getCuota_pagar());

return getSaldo();

}
public String Mostrar(){

String resultado = "";

resultado =

super.C.Mostrar() +

super.E.Mostrar() +

"\nPYMES "+

"\nNúmero de operación : "


+getN_operación()+

"\nInteres fijo: " +getInterés_fijo()+

"\nMonto credito : " + getMontocrédito()+

"\nplaza en meses: "+ getPlazo_meses()+

"\nTasa de interes : "+ getTasa_interés()+

"\nCuota a pagar: : "+ CalculoCuotaPagar()+

"\nSaldo: "+CalculoSaldo() + "\n";

return resultado;
}

}//fin de la clase

Tarjeta de crédito

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.io.Serializable;

import javax.swing.JButton;

import javax.swing.JDesktopPane;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

public class TarjetaCredito extends Operaciones implements Serializable {

private static final long serialVersionUID = 1L;

//Atributos

public int num_tarjeta;

public double monto_limite;


public double tasa_interes;

public int plazo_interes;

public double monto_gastado;

public double couta_pagar;

public double saldo;

JFrame ma;//marco

JDesktopPane escritorio;//escritorio

JButton aceptar;//boton de aceptar

JLabel numt, montl, tasi, plazin, montg;//etiquetas

JTextField nut,motl, tin, plaz, mont;//campos de textos

public TarjetaCredito() {//inicio del constructor... vacio

}//fin del constructor

public int getNum_tarjeta() {

return num_tarjeta;

public void setNum_tarjeta(int num_tarjeta) {

this.num_tarjeta = num_tarjeta;

public double getMonto_limite() {


return monto_limite;

public void setMonto_limite(double monto_limite) {

this.monto_limite = monto_limite;

public double getTasa_interes() {

return tasa_interes;

public void setTasa_interes(double tasa_interes) {

this.tasa_interes = tasa_interes;

public int getPlazo_interes() {

return plazo_interes;

public void setPlazo_interes(int plazo_interes) {

this.plazo_interes = plazo_interes;

}
public double getMonto_gastado() {

return monto_gastado;

public void setMonto_gastado(double monto_gastado) {

this.monto_gastado = monto_gastado;

public double getCouta_pagar() {

return couta_pagar;

public void setCouta_pagar(double couta_pagar) {

this.couta_pagar = couta_pagar;

public double getSaldo() {

return saldo;

public void setSaldo(double saldo) {

this.saldo = saldo;

public JFrame getMa() {


return ma;

public void setMa(JFrame ma) {

this.ma = ma;

public JDesktopPane getEscritorio() {

return escritorio;

public void setEscritorio(JDesktopPane escritorio) {

this.escritorio = escritorio;

public JButton getAceptar() {

return aceptar;

public void setAceptar(JButton aceptar) {

this.aceptar = aceptar;

public JLabel getNumt() {

return numt;
}

public void setNumt(JLabel numt) {

this.numt = numt;

public JLabel getMontl() {

return montl;

public void setMontl(JLabel montl) {

this.montl = montl;

public JLabel getTasi() {

return tasi;

public void setTasi(JLabel tasi) {

this.tasi = tasi;

public JLabel getPlazin() {

return plazin;

}
public void setPlazin(JLabel plazin) {

this.plazin = plazin;

public JLabel getMontg() {

return montg;

public void setMontg(JLabel montg) {

this.montg = montg;

public JTextField getNut() {

return nut;

public void setNut(JTextField nut) {

this.nut = nut;

public JTextField getMotl() {

return motl;

}
public void setMotl(JTextField motl) {

this.motl = motl;

public JTextField getTin() {

return tin;

public void setTin(JTextField tin) {

this.tin = tin;

public JTextField getPlaz() {

return plaz;

public void setPlaz(JTextField plaz) {

this.plaz = plaz;

public JTextField getMont() {

return mont;

public void setMont(JTextField mont) {


this.mont = mont;

public void Ingresar(){

C.Ingresar();

E.Ingresar();

setTasa_interes(55);

setPlazo_interes(72);

ma= new JFrame();

escritorio=new JDesktopPane();

escritorio.setLayout(null);

aceptar= new JButton("Aceptar");

numt= new JLabel("Ingrese el numero de tarjeta:");

nut= new JTextField();

montl= new JLabel("Ingrese el monto o limite de tarjeta:");

motl= new JTextField();

tasi= new JLabel("Ingrese la tasa de interes:");

tin= new JTextField();

plazin= new JLabel("Ingrese plazo credito :");

plaz= new JTextField();

montg= new JLabel("Ingrese el monto gastado:");

mont= new JTextField();

escritorio.setBackground(new Color(99, 84, 65));


escritorio.setBounds(60, 0, 500, 500);

aceptar.setBounds(5, 380, 100, 30);

numt.setBounds(5, 10, 300, 50);

nut.setBounds(5, 50, 175, 30);

montl.setBounds(5,80,300,50);

motl.setBounds(5,120,150,30);

tasi.setBounds(5, 160,150, 30);

tin.setBounds(5, 190,150, 30);

plazin.setBounds(5, 220,150, 30);

plaz.setBounds(5, 250,150, 30);

montg.setBounds(5, 280,150, 30);

mont.setBounds(5,310,150,30);

escritorio.add(aceptar);

escritorio.add(numt);

escritorio.add(nut);

escritorio.add(montl);

escritorio.add(motl);

escritorio.add(tasi);

escritorio.add(tin);

escritorio.add(plazin);

escritorio.add(plaz);

escritorio.add(montg);

escritorio.add(mont);
numt.setForeground(Color.white);

nut.setForeground(Color.black);

montl.setForeground(Color.white);

motl.setForeground(Color.black);

tasi.setForeground(Color.white);

tin.setForeground(Color.black);

plazin.setForeground(Color.white);

plaz.setForeground(Color.black);

montg.setForeground(Color.white);

mont.setForeground(Color.black);

aceptar.setForeground(Color.black);

ma.add(escritorio);

ma.add(escritorio);

ma.setTitle("Datos de la tarjeta: ");

ma.setSize(500, 500);

ma.setLocation(400,24);

ma.setVisible(true);

nut.addKeyListener(new KeyAdapter()

public void keyTyped(KeyEvent e)


{

if (nut.getText().length()<10) {

} else {

e.setKeyChar('\0');

char caracter = e.getKeyChar();

if(((caracter < '0') ||

(caracter > '9')) &&

(caracter != KeyEvent.VK_BACK_SPACE))

e.consume();

});//SOLO INGRESO DE NUMEROS

motl.addKeyListener(new KeyAdapter()

public void keyTyped(KeyEvent e)

if (motl.getText().length()<10) {

} else {
e.setKeyChar('\0');

char caracter = e.getKeyChar();

if(((caracter < '0') ||

(caracter > '9')) &&

(caracter != KeyEvent.VK_BACK_SPACE))

e.consume();

});//SOLO INGRESO DE NUMEROS

tin.addKeyListener(new KeyAdapter()

public void keyTyped(KeyEvent e)

if (tin.getText().length()<10) {

} else {

e.setKeyChar('\0');

char caracter = e.getKeyChar();


if(((caracter < '0') ||

(caracter > '9')) &&

(caracter != KeyEvent.VK_BACK_SPACE))

e.consume();

});//SOLO INGRESO DE NUMEROS

plaz.addKeyListener(new KeyAdapter()

public void keyTyped(KeyEvent e)

if (plaz.getText().length()<10) {

} else {

e.setKeyChar('\0');

char caracter = e.getKeyChar();

if(((caracter < '0') ||

(caracter > '9')) &&

(caracter != KeyEvent.VK_BACK_SPACE))
{

e.consume();

});//SOLO INGRESO DE NUMEROS

mont.addKeyListener(new KeyAdapter()

public void keyTyped(KeyEvent e)

if (mont.getText().length()<10) {

} else {

e.setKeyChar('\0');

char caracter = e.getKeyChar();

if(((caracter < '0') ||

(caracter > '9')) &&

(caracter != KeyEvent.VK_BACK_SPACE))

e.consume();

}
});//SOLO INGRESO DE NUMEROS

aceptar.addActionListener(

new ActionListener(){

public void actionPerformed(ActionEvent e){

setNum_tarjeta(Integer.parseInt(nut.getText()));

setMonto_limite(Double.parseDouble(
motl.getText()));

setTasa_interes(Double.parseDouble(tin.getText()));

setPlazo_interes(Integer.parseInt(plaz.getText()));

setMonto_gastado(Double.parseDouble(mont.getText()));

ma.setVisible(false);

}//fin action performed

});//fin action listener


}

public double CalculoCuotaPagar(){

setCouta_pagar(((getMonto_gastado()+(getMonto_gastado()*(getTasa_inte
res()/100)))/getPlazo_interes()));

return getCouta_pagar();

public double CalculoSaldo(){

setSaldo(getMonto_gastado() -getCouta_pagar());

return getSaldo();

public String Mostrar(){

String resultado = "";

resultado =

super.C.Mostrar() +

super.E.Mostrar() +

" \nTarjeta "+


"\nNúmero de tarjeta: " +getNum_tarjeta()+

"\nMonto limite: " +getMonto_limite()+

"\ntasa interés : " + getTasa_interes()+

"\nplaza de interés: "+ getPlazo_interes()+

"\nmonto gastado: "+ getMonto_gastado()+

"\nCuota a pagar: : "+ CalculoCuotaPagar()+

"\nSaldo: "+CalculoSaldo() + "\n";

return resultado;

}
Problemas y limitación
• Al ser un trabajo entre dos, costo la coordinación entre los dos, ya que
opinábamos de diferente manera para hacer el código y no nos podíamos reunir
para hacerlo junto, solo una vez. Más que todo cada uno en casa y
contactándonos por internet para coordinar que hacer. no contábamos con ningún
apoyo, pero al final lo logramos.
Corrida del programa con datos suministrados
a. Al ingresar a una de la opciones que se le mostrará en pantalla, un menú
donde se le indicará que opción desea elegir, este se mostrará de esta forma.

1) Ingresar Datos
2) Mostrar todo

3) Buscar

4) Guardar

5) Recuperar.
6) Salir

b. Al seleccionar la primera opción del menú se desplegará otro menú que le


permitirá elegir ingresar los tipos de recibos según servicio público, como se
muestra de la siguiente manera.

1) Tarjeta de credito.

2) Pymes.

3) Prestamo personal

4) Prestamo vivienda

c. Una vez que se elige a una de las opciones, se procede a ingresar la


información que el programa solicita.
d. Si finalizó la agregación, se le brinda opción de salir o volver al punto b para
seleccionar otro cliente e ingresar sus datos.

e. Si no desea ingresar otro recibo, debe elegir la opción salir, y usted regresará
al menú principal que muestra el punto a

f. Si selecciona la opción Mostrar todo del menú principal, se desplegará en


pantalla, la información de todos los clientes que se ingresaron con sus
respectivas operaciones crediticias.

g. Si selecciona la opción buscar del menú principal, se desplegará en pantalla,


que ingrese el DIS de un cliente en específico para mostrar.
h. Si selecciona la opción guardar del menú principal, se procederá a almacenar a
los datos de los clientes registrados.

g. Si selecciona la opción recuperar del menú principal, se procederá a recuperar


la información que se guardó con el nombre que le dio a el almacenamiento .