How can I locate a specific data within an array of pre-loaded objects?

0
Cliente arrCliente[] = new Cliente[10];

//Primer Cliente


objCliente.setCuenta("1");
objCliente.setIdentificacion("1-1371-0735");
objCliente.setNombre("Angelo");
objCliente.setClave(1234);
objCliente.setSaldo(5000);
objCliente.setBloqueado(false);
arrCliente[0] = objCliente;

objCliente.setCuenta("2");
objCliente.setIdentificacion("1-1111-1111");
objCliente.setNombre("Carlos");
objCliente.setClave(1111);
objCliente.setSaldo(3000);
objCliente.setBloqueado(false);
arrCliente[1] = objCliente;
//Aquí estoy ingresando los datos en el arreglo por medio de la propiedad set.
do{
    String Menu = "Menu Principal \n";
    Menu += "1. consulta de saldo \n";
    Menu += "2. Depositos \n";
    Menu += "3. Retiros \n";
    Menu += "4. Salir \n";

    opc =  Integer.parseInt(JOptionPane.showInputDialog(Menu));

    switch (opc){
        case 1:{
            //Consulta.getSaldo()
            JOptionPane.showMessageDialog(null, "El Saldo actual a la      fecha es de: " + objCliente.ConsultaSaldo(arrCliente));
            }break;
        case 2:{
            int Monto = 0;
            Monto = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Monto a depositar"));
            if (Monto <= 0){
                JOptionPane.showMessageDialog(null, "No se puede realizar la transaccion, monto invalido.");
            }
            else{
                JOptionPane.showMessageDialog(null, "El deposito se ha realizado exitosamente \n su saldo a la fecha es de: " + objCliente.Deposito(arrCliente, Monto));
            }
            }break;
        case 3:{
            int Monto = 0;
            Monto = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Monto a retirar"));
            if (Monto >= objCliente.getSaldo()){
                JOptionPane.showMessageDialog(null, "Fondos insuficientes.");
            break;
            }
            else{
                JOptionPane.showMessageDialog(null, "El retiro se ha realizado exitosamente \n su saldo a la fecha es de: " + objCliente.Retiro(arrCliente, Monto));
            }
            }break;
        case 4:{
            JOptionPane.showMessageDialog(null, "Hasta pronto.");
            }break;
        default:{
            JOptionPane.showMessageDialog(null, "La opcion ingresada no es valida" + " intente una opcion valida.");
            }break;
    }
}while (opc != 4); 

// I need to know how I do so that the specific methods for each option return the value stored in x position.

    
asked by Angelo Castro 01.08.2016 в 06:44
source

1 answer

0

First you have to ask which client is operating, but it is impossible for you to know which position of the array you should modify / consult:

CODE with the comments, it's an adaptation for you to see how it's done, but you'll have to modify it

public static void main(String[] args) {
    // simulacion de tu arreglo de clientes
    String[] clientes = { "Angelo" , "Carlos", "Pepa", "Laura" };
    int posicion = 1;

    // construimos el mensaje a mostrar
    StringBuilder msg = new StringBuilder("Cual es tu numero de cliente?\n");
    for (String cliente : clientes) { // para ti    for (Cliente cliente : arrCliente) {  
        msg.append("\n" + (posicion++) + "-" + cliente); //    para ti       msg.append("\n" + cliente.getNombre()); 
    }

    // adquirimos el numero de cliente 
    // OJO el numero asignado es la posicion en el array + 1!!!!!
    int cliente =  Integer.parseInt(JOptionPane.showInputDialog(msg));
    int posicionEnElArray = cliente - 1;

    System.out.println("La posicion del cliente " + clientes[posicionEnElArray] + " en el array es " + posicionEnElArray);
}

DEPARTURE:

La posicion del cliente Carlos en el array es 1
    
answered by 01.08.2016 / 08:25
source