Pular para o conteúdo
Bruno Dórea
Todos os posts

5 mins de leitura


Registro de Transações Bancárias

Dominando Desafios de Códigos Intermediários em Java - 1/5


Desenvolvimento Java com IA
Desenvolvimento Java com IA

Descrição

Você está desenvolvendo um programa simples em Java para manter um registro de transações bancárias. Cada transação é armazenada em uma lista.

Entrada

O programa solicitará ao usuário que informe o saldo inicial da conta. Em seguida, o programa solicitará a quantidade total de transações que o cliente deseja realizar.

Entrada de Transações: Para cada transação, o programa solicitará ao usuário:

  • O tipo de transação: Digite 'D' para depósito ou 'S' para saque.
  • O valor da transação.

Saída

Utilizando listas (ArrayList ou LinkedList), o programa armazenará cada transação, que incluirá um tipo (Depósito ou Saque) e um valor.

Ao final das transações, o programa exibirá o saldo final da conta e a lista de transações.

Exemplos

A tabela abaixo apresenta exemplos com alguns dados de entrada e suas respectivas saídas esperadas. Certifique-se de testar seu programa com esses exemplos e com outros casos possíveis.

EntradaSaída
2500
2Saldo: 2100.0
dTransacoes:
1001. Deposito de 100.0
s2. Saque de 500.0
500
EntradaSaída
900
1Saldo: 800.0
sTransacoes:
1001. Saque de 100.0
EntradaSaída
0Saldo: 0.0
0Transacoes:

Resolução

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
 
public class RegistroTransacoesBancarias {
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double saldo = scanner.nextDouble();
        int quantidadeTransacoes = scanner.nextInt();
        List<String> transacoes = new ArrayList<>();
 
        for (int i = 1; i <= quantidadeTransacoes; i++) {
            char tipoTransacao = scanner.next().toUpperCase().charAt(0);
            double valorTransacao = scanner.nextDouble();
 
            if (tipoTransacao == 'D') {
                saldo += valorTransacao;
                transacoes.add("Deposito de " + valorTransacao);
            } else if (tipoTransacao == 'S') {
                saldo -= valorTransacao;
                transacoes.add("Saque de " + valorTransacao);
            } else {
                System.out.println("Opção inválida. Utilize D para depósito ou S para saque.");
                i--;
            }
        }
 
        System.out.println("Saldo: " + saldo);
        System.out.println("Transacoes:");
        
        for (int i = 0; i < transacoes.size(); i++) {
            System.out.println((i + 1) + ". " + transacoes.get(i));
        }
 
        scanner.close();
    }
}

Para encontrar outras soluções, verifique aqui.

Caso encontre algum erro ou tenha sugestões, clique aqui e abra uma issue no Github.