Arreglos de objetos

Tengo una arreglo de objetos el cual no me guarda en el arreglo
Es un ejercicio de un banco pero no se cual es el problema
Tengo una clase clientes donde declaro el arreglo
public class clientes {
String[] clientes=new String[1];
float [] cuenta= new float [1];
public clientes(String Nombre,String Direccion, float Nocuenta, float Saldo)
{
clientes=new String[5];
clientes[0]=Nombre;
clientes[1]=Direccion;
cuenta =new float [5];
cuenta[0]=Nocuenta;
cuenta[1]=Saldo;
}
}
También tengo una clase métodos donde tengo todos los métodos que van a insértale los datos al arreglo
import java.util.*;
class Metodos{
clientes[]ar;
int nc=0;
Scanner E=new Scanner(System.in);
public void apertura(String Nombre,String Direccion, float Nocuenta, float Saldo)
{
if(nc<=ar.length){
//redimensionar();
ar[nc]=new clientes( Nombre, Direccion, Nocuenta, Saldo);
nc++;
}
}
private void redimensionar()
{
clientes[]aux=new clientes[nc+5];
for(int i=0;i<ar.length;i++)
aux=ar;
ar=aux;
}
public void menu(){
int opcion;
do{
System.out.println("-_-_-_-_-_-_-Menu-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-");
System.out.println("1)Apertura de Cuenta");
System.out.println("2)Deposito");
System.out.println("3)Transferencia entre cuentas");
System.out.println("4)Cambio de Cheque");
System.out.println("5)Saldo de una cuenta");
System.out.println("6)Datos de una Cuenta");
System.out.println("7)Datos de todas las cuentas.");
System.out.println("8)Último cliente atendido");
System.out.println("9)Clientes en la cola");
System.out.println("10)Clientes que están en caja");
System.out.println("11)Pasar cliente a una caja");
System.out.println("12)Atender a un cliente en una caja");
System.out.println("13)Salir");
System.out.println(".Opcion");
opcion=E.nextInt();
opcion(opcion);
}while(opcion!=13);
}
public void opcion(int o){
switch(o)
{
case 1:
String Nombre, Direccion;
float Nocuenta,Saldo;
System.out.println("Numero De Cuenta:");
Nocuenta=E.nextFloat();
System.out.println("Nombre Del Cliente :");
Nombre=E.next();
System.out.println("Direccion:");
Direccion=E.next();
System.out.println("Saldo Inicial:");
Saldo=E.nextFloat();
apertura( Nombre, Direccion, Nocuenta,Saldo);
break;
case 2: ;break;
case 3: ;break;
case 4: ;break;
case 5: ;break;
case 6: ;break;
case 7: ;break;
case 8: ;break;
case 9: ;break;
case 10: ;break;
case 11: ;break;
case 12: ;break;
case 13: ;break;
}
}
}
Pero no encuentro el error :s
Respuesta
1
Bueno viendo el código me doy cuenta que tienes muchos errores, entre ellos las variables no son significativas, eso quiere decir que los nombres que utilizas no se llaman como lo que hacen.
También tienes el error de que guardas arreglos donde deben ir solamente variables y al final el arreglo debe ser solo para el objeto Cliente
Te recomiendo que uses esta clase
public class Cliente{
    private String nombre;
    private String direccion;
    private long noCuenta;
    private long saldo;
    public Cliente(nombre, direccion, noCuenta,saldo){
        this.nombre = nombre;
        this.direccion= direccion;
        this.noCuenta = noCuenta;
        this.saldo=saldo
    }
    public void setNombre(String nombre){
        this.nombre = nombre;
    }
    public String getNombre(){
        return nombre;
    }
    public void setDireccion(String direccion){
        this.direccion = direccion;
    }
    public String getDireccion(){
        return direccion;
    }
    public void setNoCuenta(long noCuenta){
        this.noCuenta = noCuenta;
    }
    public long getNoCuenta(){
        return noCuenta;
    }
    public void setSaldo(long saldo){
        this.saldo = saldo;
    }
    public long getSaldo(){
        return saldo;
    }
}
la otra clase que es la gestora debe ser asi:
import java.util.*;
public class Metodos{
    Cliente[] clientes = new Cliente[1];
    totalClientes = 1;
    Scanner escaner =new Scanner(System.in);
    public void apertura(String nombre,String direccion, float noCuenta, float saldo){
        if (clientes != null){        
            if(totalClientes <= clientes.lentgh){        
                clientes[totalClientes-1] = new Cliente(nombre, direccion, nocuenta, saldo);
                totalClientes++;
            }else{
                redimensionar();
                apertura(nombre,direccion,noCuenta,saldo);
            }
        }    
    }
    private void redimensionar(){
        Cliente[]auxiliar = new Cliente[totalClientes+1];
        for(int i=0;i<ar.length;i++){
            auxiliar=clientes;    
        }
        clientes=auxiliar;
    }
    public void menu(){
        int opcion;
        do{
            System.out.println("-_-_-_-_-_-_-Menu-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-");
            System.out.println("1)Apertura de Cuenta");
            System.out.println("2)Deposito");
            System.out.println("3)Transferencia entre cuentas");
            System.out.println("4)Cambio de Cheque");
            System.out.println("5)Saldo de una cuenta");
            System.out.println("6)Datos de una Cuenta");
            System.out.println("7)Datos de todas las cuentas.");
            System.out.println("8)Último cliente atendido");
            System.out.println("9)Clientes en la cola");
            System.out.println("10)Clientes que están en caja");
            System.out.println("11)Pasar cliente a una caja");
            System.out.println("12)Atender a un cliente en una caja");
            System.out.println("13)Salir");
            System.out.println(".Opcion");
            opcion=escaner.nextInt();
            gestor(opcion);
        }while(opcion!=13);
    }
    public void gestor(int opcion){
    switch(opcion){
        case 1:
            String nombre, direccion;
            float noCuenta,saldo;
            System.out.println("Numero De Cuenta:");
            noCuenta=escaner.nextFloat();
            System.out.println("Nombre Del Cliente :");
            nombre=escaner.next();
            System.out.println("Direccion:");
            direccion=escaner.next();
            System.out.println("Saldo Inicial:");
            saldo=escaner.nextFloat();
            apertura( nombre, direccion, noCuenta,saldo);
        break;
        case 2: ;break;
        case 3: ;break;
        case 4: ;break;
        case 5: ;break;
        case 6: ;break;
        case 7: ;break;
        case 8: ;break;
        case 9: ;break;
        case 10: ;break;
        case 11: ;break;
        case 12: ;break;
        case 13: ;break;
    }
}
Revisa a ver si hace lo que tu necesitas que haga

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas