Comprender el uso de vectores para la clasificación de datos
Clasificación y agrupamiento del contenido de un vector
El vector de solicitudes de crédito tiene información de Solicitantes. Estos datos de los Solicitantes se clasifican asociandoles un código que indica si el crédito solicitado se va a rechazar, aceptar o si queda condicionado a la presentación de un fiador o una prenda hipotecaria o de otro tipo. El significado de los códigos se encuentra en el vector de códigos mientras que la decisión que se tomó se almacena en un vector confidencial con las decisiones, y cada entrada del mismo se asocia por índice con cada solicitante.
El siguiente código muestra como recorriendo el vector que indica si "se aceptan" las solicitudes, una vez para cada código posible, se pueden agrupar los solicitantes en cada categoría.
import javax.swing.*; class DemostracionClasificacionConVectores { /** * REQUIERE: No tiene requisitos específicos * EFECTUA: Método main con el fin de demostrar la forma de utilizar vectores para clasificar datos * MODIFICA: Salida en consola */ public static void main(String argv[]){ Solicitante solicitudesDeCredito [] = new Solicitante[6]; solicitudesDeCredito[0] = new Solicitante("Juan","Pérez",200000,true,8); solicitudesDeCredito[1] = new Solicitante("Mario","Vargas",100000,false,0); solicitudesDeCredito[2] = new Solicitante("Rebeca","Chaves",500000,false,1); solicitudesDeCredito[3] = new Solicitante("Melvin","Luna",600000,false,6); solicitudesDeCredito[4] = new Solicitante("Graciela","Sancho",450000,true,0); solicitudesDeCredito[5] = new Solicitante("Jorge","Arias",60000,true,2); // Vector con los códigos de las tres posibles decisiones que se tomaron para otorgar el crédito String codigo[] = {"NO","SI","CONDICIONADO"}; // En el vector siguiente se guardó la decisión tomada para cada caso // dependiendo del indice // Los valores del vector son códigos de acuerdo al vector de códigos anterior int seAcepta[] = {0,2,1,2,1,0}; // Se recorren todos los tipos de crédito for(int tipoCredito=0; tipoCredito< codigo.length;tipoCredito++) { System.out.println("¿DAR CRÉDITO?: "+codigo[tipoCredito]); // Se recorren todas las solicitudes y solo se imprimen las del tipo de crédito que se está usando en este iteración for(int i=0; i< seAcepta.length;i++) { if(seAcepta[i]==tipoCredito){ System.out.println(solicitudesDeCredito[i] ); } } } System.exit(0); } } |
public class Solicitante { private double salario; // Es privado. private int cantidadDeHijos; // Es privado. private String nombre; // Es privado. private String apellido; // Es privado. private boolean esCasado; public Solicitante(String nombre, String apellido, double salario, boolean esCasado, int cantidadDeHijos){ this.nombre = nombre; this.apellido = apellido; this.salario = salario; this.esCasado = esCasado; this.cantidadDeHijos = cantidadDeHijos; } public String toString(){ return "NOMBRE: " +nombre+" " +apellido+" GANA $ "+salario+" ES "+ ((esCasado)?"CASADO":"SOLTERO")+" CON "+cantidadDeHijos+" HIJOS "; } } |
La salida del programa en pantalla es la siguiente: