Oii, Eduardo. Beleza?
Quando você usa a opção de conta corrente (tipoDeConta == 1)
, o programa imprime as informações da conta e não executa nenhuma outra ação. Isso porque as operações de: Consultar saldo, Receber valor e Transferir valor, você adicionou apenas para a opção de conta poupança (tipoDeConta == 2)
.
Uma possível solução é você remover o do-while
de dentro do else if
e adicioná-lo após o while
do tipo de conta, algo parecido como isso:
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
String nome = "";
int tipoDeConta = 0;
double saldo = 0;
int operacao = 0;
double valorRecebido = 0;
double valorTransferido = 0;
System.out.println("""
Olá seja bem vindo ao Banco TaxasAltas BeneficioBaixos!
Digite seu nome para que possamos continuar.""");
nome = leitura.nextLine();
System.out.println("Olá " + nome + ", estamos muito contente em termos voce como cliente, digite o saldo que possui em conta.");
saldo = leitura.nextDouble();
while (tipoDeConta == 0) {
System.out.println("""
Qual o tipo de conta que o(a) senhor(a) possui?
1 - Conta corrente
2 - Conta poupança
""");
tipoDeConta = leitura.nextInt();
if (tipoDeConta == 1) {
System.out.println("""
********************************************
Nome: %s
Saldo: %.2f R$
Tipo de conta: Conta corrente
********************************************
""".formatted(nome, saldo, tipoDeConta));
} else if (tipoDeConta == 2) {
System.out.println("""
********************************************
Nome: %s
Saldo: %.2f R$
Tipo de conta: Conta poupança
********************************************
""".formatted(nome, saldo, tipoDeConta));
} else {
System.out.println("Opção inválida. Por favor, escolha novamente.");
tipoDeConta = 0;
}
}
do {
System.out.println("""
Operações
1- Consultar saldo
2- Receber valor
3- Transferir valor
4- Sair
""");
operacao = leitura.nextInt();
switch (operacao) {
case 1:
System.out.println("O saldo que possui em conta é de %.2f".formatted(saldo));
break;
case 2:
System.out.println("Digite o valor a ser recebido");
valorRecebido = leitura.nextDouble();
saldo += valorRecebido;
System.out.println("Confirmamos o recebimento de %.2f R$, o novo saldo em sua conta é de: %.2f R$".formatted(valorRecebido, saldo));
break;
case 3:
System.out.println("Digite o valor a ser transferido");
valorTransferido = leitura.nextDouble();
saldo -= valorTransferido;
System.out.println("Confirmamos a transferencia de %.2f R$, o novo saldo em sua conta é de: %.2f R$".formatted(valorTransferido, saldo));
break;
case 4:
System.out.println("Agradeçemos a preferencia e tenha um Bom dia!");
break;
default:
System.out.println("Opção inválida. Por favor, escolha novamente.");
break;
}
} while (operacao != 4);
leitura.close();
}
Bons estudos :)