Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
POO - Programação Orientada a Objetos - Exercício Resolvido 4 - A classe ContaBancaria (construtores, métodos, getters e setters e encapsulamento) - Exercícios Resolvidos de JavaQuantidade de visualizações: 12757 vezes |
|
Pergunta/Tarefa: Escreva uma classe Java chamada ContaBancaria para representar uma conta bancária. Esta classe deverá conter: a) Um campo de dados privado do tipo double chamado saldo que representa o saldo atual da conta. O saldo padrão é 0.0. b) Um campo de dados privado do tipo Date chamado dataAbertura que guarda a data da abertura da conta bancária. O valor padrão é a data atual. Note que o campo dataAbertura é somente leitura, ou seja, no momento da criação da conta, esta variável receberá a data atual e não poderá mais ser alterada (não forneça o método set() para este campo). c) Um construtor sem argumentos que cria uma nova conta com saldo 0.0 e com data de abertura igual à data atual. d) Métodos get() e set() para o campo saldo e apenas o método get() para o campo dataAbertura. e) Um método getDataAberturaFormatada() que retorna a data de abertura da conta como uma String. Você deverá também formatar a data retornada com o objetivo de exibir algo como "12/05/2012". f) Um método getSaldoFormatado() que retorna o saldo atual da conta como uma String e formatado de acordo com o formato de moeda brasileira, ou seja, algo como "R$ 23.654,00". g) Um método depositar() que recebe um valor do tipo double e atualiza o saldo atual da conta. h) Um método sacar() que recebe um valor do tipo double representando o valor a ser sacado. Não permita saques que farão com que a conta fique com saldo negativo. Escreva uma classe de teste e, em seu método main(), crie uma nova instância da classe ContaBancaria. Experimente efetuar depósitos e saques e observe o comportamento da classe. Sua saída deverá ser parecida com a imagem abaixo: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ContaBancaria.java: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package estudos;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.util.Date;
public class ContaBancaria{
private double saldo; // saldo atual da conta
private Date dataAbertura; // data de abertura da conta
// construtor padrão que cria uma nova conta com saldo 0.0 e
// data de abertura igual à data atual
public ContaBancaria(){
this.saldo = 0.0;
this.dataAbertura = new Date();
System.out.println("Abertura de conta realizada com sucesso.");
}
// retorna a data de abertura da conta como um objeto da classe
// Date
public Date getDataAbertura(){
return this.dataAbertura;
}
// retorna a data de abertura da conta como uma string formatada
public String getDataAberturaFormatada(){
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
return df.format(this.dataAbertura);
}
// obtém o saldo da conta
public double getSaldo(){
return saldo;
}
// permite definir o saldo da conta
public void setSaldo(double saldo){
this.saldo = saldo;
}
// obtém o saldo como uma string formatada de acordo com o formato
// de moeda brasileira
public String getSaldoFormatado(){
NumberFormat nf = NumberFormat.getCurrencyInstance();
return nf.format(this.saldo);
}
// efetua um novo depósito na conta
public void depositar(double quantia){
this.saldo = this.saldo + quantia;
System.out.println("Novo depósito efetuado.");
}
// efetua um saque (CUIDADO! O saldo não pode ficar negativo)
public void sacar(double quantia){
// o saque vai deixar a conta com saldo negativo?
if((this.saldo - quantia) < 0){
System.out.println("Saldo insuficiente para este saque");
}
else{
this.saldo = this.saldo - quantia;
System.out.println("Novo saque efetuado.");
}
}
}
Veja agora o método main() que nos permite testar a funcionalidade da classe ContaBancaria: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package estudos;
public class Estudos {
public static void main(String[] args) {
// vamos criar um novo objeto da classe Conta
ContaBancaria cb = new ContaBancaria();
// vamos mostrar o saldo atual
System.out.println("Saldo atual: " + cb.getSaldo());
System.out.println("Saldo atual formatado: " + cb.getSaldoFormatado());
// vamos mostrar a data de criação da conta
System.out.println("Data de abertura: " + cb.getDataAbertura());
System.out.println("Data de abertura formatada: " +
cb.getDataAberturaFormatada());
// vamos efetuar um novo depósito
cb.depositar(3409.00);
// vamos mostrar o saldo atual
System.out.println("Saldo atual: " + cb.getSaldo());
System.out.println("Saldo atual formatado: " + cb.getSaldoFormatado());
// vamos efetuar um saque
cb.sacar(500.00);
// vamos mostrar o saldo atual
System.out.println("Saldo atual: " + cb.getSaldo());
System.out.println("Saldo atual formatado: " + cb.getSaldoFormatado());
// vamos tentar efetuar um saque maior que o saldo
cb.sacar(2910.00);
}
}
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






