Registro de Transações Bancárias
Dominando Desafios de Códigos Intermediários em Java - 1/5
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.
Entrada | Saída |
---|---|
2500 | |
2 | Saldo: 2100.0 |
d | Transacoes: |
100 | 1. Deposito de 100.0 |
s | 2. Saque de 500.0 |
500 |
Entrada | Saída |
---|---|
900 | |
1 | Saldo: 800.0 |
s | Transacoes: |
100 | 1. Saque de 100.0 |
Entrada | Saída |
---|---|
0 | Saldo: 0.0 |
0 | Transacoes: |
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.