Sei que há coisas a melhorar mas estou tão feliz e orgulhosa de mim por fazer isso apenas com o apoio da Luri para tirar algumas dúvidas (e somente a consultei depois de quebrar muito a cabeça). Java foi o que mais pesou para mim na faculdade e ser capaz de implementar isso sozinha, é incrível.
Implementei algumas coisas a mais do que foi pedido, ainda não vi os vídeos com a Jacque e, uma pergunta, realmente podemos marcar ela no LinkedIn para compartilhar o código?
import java.util.Scanner;
public class desafio {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//Declaração das variáveis que serão utilizadas
String nomeTitular = null;
String tipoConta = null;
int operacao;
float saldo = 0;
float valor = 0;
float valorTransferencia = 0;
operacao = apresentarMenu(input);
while(operacao != -1 ){
if (operacao == 1) {
String[] cliente = criarCliente(input);
saldo = iniciarSaldo(input);
operacao = apresentarMenu(input);
} else if (operacao == 2) {
saldo = consultarSaldo(saldo);
operacao = apresentarMenu(input);
} else if (operacao == 3) {
saldo = receberValor(input, saldo);
operacao = apresentarMenu(input);
} else if (operacao ==4){
saldo = transferirValor(input, saldo);
operacao = apresentarMenu(input);
} else if (operacao == 5) {
System.out.println("Encerrando a operação");
break;
} else {
System.out.println("Informe uma opção válida ");
operacao = apresentarMenu(input);
}
}
}
//Função para apresentar o menu
public static int apresentarMenu(Scanner input){
System.out.println("""
******************
Menu de opções
1. Criar conta
2. Consultar saldo
3. Receber valor
4. Transferência
5. Sair
*******************
""");
//Tive que usar o input de nova linha pois ele impede que o código consuma o próximo input
System.out.println(" Insira uma opção para realizar alguma operação ");
int operacao = input.nextInt();
input.nextLine();
return operacao;
}
//Função para criar o cliente
public static String[] criarCliente(Scanner input) {
System.out.println("Insira o nome completo do titular");
String nomeTitular = input.nextLine();
System.out.println("Insira o tipo de conta");
String tipoConta = input.next();
String[] cliente = {nomeTitular, tipoConta};
return cliente;
}
//Função para iniciar o saldo
public static float iniciarSaldo(Scanner input){
System.out.println("Insira o saldo inicial");
float saldo = input.nextFloat();
return saldo;
}
//Função para consultar o saldo
public static float consultarSaldo(float saldo){
System.out.printf("O saldo atual é %.2f \n", saldo);
return saldo;
}
//Função para receber valores
public static float receberValor(Scanner input, float saldo){
System.out.println("Informe o valor que você receberá");
float valor = input.nextFloat();
saldo += valor;
System.out.printf("O atual valor do seu saldo é de %.2f \n", saldo);
return saldo;
}
//Função para transferir
public static float transferirValor(Scanner input, float saldo){
System.out.println("Informe o valor a ser tranferido");
float valorTranferencia = input.nextFloat();
if (valorTranferencia <= saldo){
saldo -= valorTranferencia;
System.out.printf("O seu saldo atual é de R$ %.2f \n", saldo);
} else {
System.out.printf("O valor a ser transferido é maior que o saldo atual, que é de R$ %.2f \n", saldo);
}
return saldo;
}
}