Criar Menu de Conta usando Array para Selecionar a conta

a) Na classe Principal, crie um array com dados de duas contas. Não é necessário ler os
dados dos objetos, você pode inicializar.
b) Crie um MENU com as ações a seguir:
c) Consultar Clientes (lista os clientes existentes no array)
Após selecionar o cliente, apresentar as ações:

  1. Saque
  2. Deposito
  3. Consultar saldo
  4. Voltar
    NOTA: permitir que o usuário possa efetuar quantas operações desejar para cada conta.

package classes;
import java.util.Scanner;

public class Conta{

private String numero;
private String agencia;
private String cliente;
private double saldo; 
private double saldoDisponivel;
Scanner in;

//métodos acessores: GET
public String getCliente(){
    return cliente;
}

public double getSaldoDisponivel(){
    return saldoDisponivel;
}
    
//métodos modificadores: SET
public void setNumero(String numero){
    this.numero = numero;
}

public void setAgencia(String agencia){
    this.agencia = agencia;
}

public void setCliente(String cliente){
    this.cliente = cliente;
}

public void setSaldoDisponivel(double saldoDisponivel) {
    if(saldoDisponivel > 0)
        this.saldoDisponivel = saldoDisponivel;
}

public String dados(){
    return "Conta:"+numero+", Agência:"+agencia+
            ", Cliente:"+cliente+", Saldo:"+saldo+""
            + ", Saldo disponível:"+saldoDisponivel;
}

//métodos
public String sacar(){ 
    in = new Scanner(System.in);
    System.out.print("\n\nDigite o valor do saque: ");
    double valor = in.nextDouble();
    if(valor <= (saldo+saldoDisponivel) && valor > 0){
        saldo = saldo - valor;
        return "Saque efetuado, valor:"+valor;
    }
    return "Saque não efetuado, valor:"+valor;        
}  

public String depositar(){ 
    in = new Scanner(System.in);
    System.out.print("\n\nDigite o valor do saque: ");
    double valor = in.nextDouble();
    if(valor > 0){
        saldo = saldo + valor;
        return "Deposito efetuado, valor:"+valor;
    }
    return "Deposito não efetuado!";        
}

}

package principal;
import java.util.Scanner;
import classes.Conta;

public class Principal {

public static void main(String[] args) {

    Conta conta[] = new Conta[2];
    
    //criar um objeto
    conta[0] = new Conta();
    conta[0].setAgencia("3432-x");
    conta[0].setNumero("12212-5");
    conta[0].setCliente("Fagno");
    conta[0].setSaldoDisponivel(50);
    
    System.out.println("CLIENTE: "+conta[0].getCliente());
    
    System.out.println(conta[0].sacar());
    
    //efetuar deposito
    //System.out.println(conta1.dados());
    //System.out.println(conta1.depositar(50));
    //System.out.println(conta1.depositar(250));
    System.out.println(conta[0].sacar());
    //System.out.println( conta1. );    
    System.out.println(conta[0].dados());
    
    int op;
    Scanner entra = new Scanner(System.in);

// do{
// System.out.println(“1 - Saque”);
// System.out.println(“2 - Depósito”);
// System.out.println(“3 - Consultar Saldo”);
// System.out.println(“4 - Voltar”);
// System.out.println(“Entre com a opção:”);
// op = entra.nextInt();
// switch(op){
// case 1:
//
//
// break;
// case 2:
// for(int i=0; i< cadastro.size(); i++){
//
// System.out.printf("%15s",cadastro.get(i));
// }
// break;
// }
// }while(op != 4);
// }
}

}

OBS: Minha dúvida é como vou fazer um array de objetos e dar a opção de ele escolher qual a conta. E fazer o Menu.

Qual a duvida mesmo?

1 curtida

package classes;

public class Conta{

private String numero;
private String agencia;
private String cliente;
private double saldo; 
private double saldoDisponivel;

//métodos acessores: GET
public String getCliente(){
    return cliente;
}
    
//métodos modificadores: SET
public void setNumero(String numero){
    this.numero = numero;
}

public void setAgencia(String agencia){
    this.agencia = agencia;
}

public void setCliente(String cliente){
    this.cliente = cliente;
}

public void setSaldoDisponivel(double saldoDisponivel) {
    if(saldoDisponivel > 0)
        this.saldoDisponivel = saldoDisponivel;
}

public String dados(){
    return "Conta:"+numero+", Agência:"+agencia+
            ", Cliente:"+cliente+", Saldo:"+saldo+""
            + ", Saldo disponível:"+saldoDisponivel;
}

//métodos
public String sacar(double valor){ 
    if(valor <= (saldo+saldoDisponivel) && valor > 0){
        saldo = saldo - valor;
        return "Saque efetuado, valor:"+valor;
    }
    return "Saque não efetuado, valor:"+valor;        
}  

public String depositar(double valor){ 
    if(valor > 0){
        saldo = saldo + valor;
        return "Deposito efetuado, valor:"+valor;
    }
    return "Deposito não efetuado!";        
}

}