import [Link].
ArrayList;
import [Link];
import [Link];
public class BancoUCAN {
// Classe Cliente
public static class Cliente {
private String nome;
private String cpf;
private String endereco;
public Cliente(String nome, String cpf, String endereco) {
[Link] = nome;
[Link] = cpf;
[Link] = endereco;
public String getNome() {
return nome;
public void setNome(String nome) {
[Link] = nome;
public String getCpf() {
return cpf;
public void setCpf(String cpf) {
[Link] = cpf;
}
public String getEndereco() {
return endereco;
public void setEndereco(String endereco) {
[Link] = endereco;
// Classe ContaBancaria
public static class ContaBancaria {
private Cliente cliente;
private String numeroConta;
private double saldo;
public ContaBancaria(Cliente cliente, String numeroConta, double saldoInicial) {
[Link] = cliente;
[Link] = numeroConta;
[Link] = saldoInicial;
public void depositar(double valor) {
if (valor > 0) {
saldo += valor;
} else {
[Link]("Valor de depósito inválido.");
public void sacar(double valor) {
if (valor > 0 && valor <= saldo) {
saldo -= valor;
} else {
[Link]("Saldo insuficiente ou valor de saque inválido.");
public double consultarSaldo() {
return saldo;
public Cliente getCliente() {
return cliente;
public String getNumeroConta() {
return numeroConta;
// Classe Banco
public static class Banco {
private List<ContaBancaria> contas;
public Banco() {
contas = new ArrayList<>();
public void adicionarConta(ContaBancaria conta) {
[Link](conta);
}
public void removerConta(String numeroConta) {
[Link](conta -> [Link]().equals(numeroConta));
public ContaBancaria buscarConta(String numeroConta) {
for (ContaBancaria conta : contas) {
if ([Link]().equals(numeroConta)) {
return conta;
return null;
// Classe Menu
public static class Menu {
private Banco banco;
private Scanner scanner;
public Menu() {
banco = new Banco();
scanner = new Scanner([Link]);
public void exibirMenu() {
int opcao;
do {
[Link]("1. Adicionar Conta");
[Link]("2. Remover Conta");
[Link]("3. Consultar Saldo");
[Link]("4. Depositar");
[Link]("5. Sacar");
[Link]("6. Sair");
[Link]("Escolha uma opção: ");
opcao = [Link]();
[Link](); // Consumir a nova linha
switch (opcao) {
case 1:
adicionarConta();
break;
case 2:
removerConta();
break;
case 3:
consultarSaldo();
break;
case 4:
depositar();
break;
case 5:
sacar();
break;
case 6:
[Link]("Saindo...");
break;
default:
[Link]("Opção inválida.");
} while (opcao != 6);
private void adicionarConta() {
[Link]("Nome: ");
String nome = [Link]();
[Link]("CPF: ");
String cpf = [Link]();
[Link]("Endereço: ");
String endereco = [Link]();
[Link]("Número da conta: ");
String numeroConta = [Link]();
[Link]("Saldo inicial: ");
double saldoInicial = [Link]();
[Link](); // Consumir a nova linha
Cliente cliente = new Cliente(nome, cpf, endereco);
ContaBancaria conta = new ContaBancaria(cliente, numeroConta, saldoInicial);
[Link](conta);
[Link]("Conta adicionada com sucesso.");
private void removerConta() {
[Link]("Número da conta: ");
String numeroConta = [Link]();
[Link](numeroConta);
[Link]("Conta removida com sucesso.");
private void consultarSaldo() {
[Link]("Número da conta: ");
String numeroConta = [Link]();
ContaBancaria conta = [Link](numeroConta);
if (conta != null) {
[Link]("Saldo: " + [Link]());
} else {
[Link]("Conta não encontrada.");
}
private void depositar() {
[Link]("Número da conta: ");
String numeroConta = [Link]();
ContaBancaria conta = [Link](numeroConta);
if (conta != null) {
[Link]("Valor do depósito: ");
double valor = [Link]();
[Link](); // Consumir a nova linha
[Link](valor);
[Link]("Depósito realizado com sucesso.");
} else {
[Link]("Conta não encontrada.");
private void sacar() {
[Link]("Número da conta: ");
String numeroConta = [Link]();
ContaBancaria conta = [Link](numeroConta);
if (conta != null) {
[Link]("Valor do saque: ");
double valor = [Link]();
[Link](); // Consumir a nova linha
[Link](valor);
[Link]("Saque realizado com sucesso.");
} else {
[Link]("Conta não encontrada.");
}
public static void main(String[] args) {
Menu menu = new Menu();
[Link]();