Opa, segui os passos do professor durante o curso, porém ao tentar abrir uma conta, recebi a seguinte exception:

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Opa, segui os passos do professor durante o curso, porém ao tentar abrir uma conta, recebi a seguinte exception:

Fala Douglas, de boa ?
Consegue mostrar seu código para gente ? Assim conseguimos ver se teve algum errinho
Opa Matheus, verifiquei se outra pessoa tinha uma dúvida igual a minha aqui no fórum e pelas respostas do post dela, consegui resolver esse problema inicial, porém agora, estou dando de cara com essas exceptions:
Aqui vai o código (Todos os imports estão feitos, só não consigo colocar aqui porque ultrapassa o limite de caracteres):
public class BytebankApplication {
private static ContaService service = new ContaService();
private static Scanner teclado = new Scanner(System.in).useDelimiter("\r\n");
public static void main(String[] args) {
var opcao = exibirMenu();
while (opcao != 7) {
try {
switch (opcao) {
case 1:
listarContas();
break;
case 2:
abrirConta();
break;
case 3:
encerrarConta();
break;
case 4:
consultarSaldo();
break;
case 5:
realizarSaque();
break;
case 6:
realizarDeposito();
break;
}
} catch (RegraDeNegocioException e) {
System.out.println("Erro: " +e.getMessage());
System.out.println("Pressione qualquer tecla e de ENTER para voltar ao menu");
teclado.next();
}
opcao = exibirMenu();
}
System.out.println("Finalizando a aplicação.");
}
private static int exibirMenu() {
System.out.println("""
BYTEBANK - ESCOLHA UMA OPÇÃO:
1 - Listar contas abertas
2 - Abertura de conta
3 - Encerramento de conta
4 - Consultar saldo de uma conta
5 - Realizar saque em uma conta
6 - Realizar depósito em uma conta
7 - Sair
""");
return teclado.nextInt();
}
private static void listarContas() {
System.out.println("Contas cadastradas:");
var contas = service.listarContasAbertas();
contas.stream().forEach(System.out::println);
System.out.println("Pressione qualquer tecla e de ENTER para voltar ao menu principal");
teclado.next();
}
private static void abrirConta() {
System.out.println("Digite o número da conta:");
var numeroDaConta = teclado.nextInt();
System.out.println("Digite o nome do cliente:");
var nome = teclado.next();
System.out.println("Digite o cpf do cliente:");
var cpf = teclado.next();
System.out.println("Digite o email do cliente:");
var email = teclado.next();
service.abrir(new DadosAberturaConta(numeroDaConta, new DadosCadastroCliente(nome, cpf, email)));
System.out.println("Conta aberta com sucesso!");
System.out.println("Pressione qualquer tecla e de ENTER para voltar ao menu principal");
teclado.next();
}
private static void encerrarConta() {
System.out.println("Digite o número da conta:");
var numeroDaConta = teclado.nextInt();
service.encerrar(numeroDaConta);
System.out.println("Conta encerrada com sucesso!");
System.out.println("Pressione qualquer tecla e de ENTER para voltar ao menu principal");
teclado.next();
}
private static void consultarSaldo() {
System.out.println("Digite o número da conta:");
var numeroDaConta = teclado.nextInt();
var saldo = service.consultarSaldo(numeroDaConta);
System.out.println("Saldo da conta: " +saldo);
System.out.println("Pressione qualquer tecla e de ENTER para voltar ao menu principal");
teclado.next();
}
private static void realizarSaque() {
System.out.println("Digite o número da conta:");
var numeroDaConta = teclado.nextInt();
System.out.println("Digite o valor do saque:");
var valor = teclado.nextBigDecimal();
service.realizarSaque(numeroDaConta, valor);
System.out.println("Saque realizado com sucesso!");
System.out.println("Pressione qualquer tecla e de ENTER para voltar ao menu principal");
teclado.next();
}
private static void realizarDeposito() {
System.out.println("Digite o número da conta:");
var numeroDaConta = teclado.nextInt();
System.out.println("Digite o valor do depósito:");
var valor = teclado.nextBigDecimal();
service.realizarDeposito(numeroDaConta, valor);
System.out.println("Depósito realizado com sucesso!");
System.out.println("Pressione qualquer tecla e de ENTER para voltar ao menu principal");
teclado.next();
}
}
COnseuge mostrar pra gente o que faz no método abrir do conta service ?
Acabei de verificar aqui o método e eu percebi que não havia colocado os paramêtros certos, hahaha, ajeitei aqui e consegui arrumar.
Show!