terça-feira, 9 de dezembro de 2014

Considere um Sistema de Controle de Gastos de Mesada. Esse sistema apresenta uma classe chamada Despesa

Considere um Sistema de Controle de Gastos de Mesada. Esse sistema apresenta uma classe chamada Despesa, com os atributos valor, do tipo double e tipoDeGasto, do tipo String e métodos para obter e alterar esses atributos (métodos get e set).
Esse sistema apresenta também uma classe ControleDeGastos, que apresenta um atributo chamado despesas, que é um array de objetos do tipo Despesa e o método setDespesas. Essa classe apresenta também um método chamado calculaTotalDeDespesas, que não tem parâmetros e deve retornar o valor total das despesas do sistema. Nessa classe há ainda o método existeDespesaDoTipo(String tipoDeGasto) que verifica se dentre as despesas guardadas no ControleDeGastos há alguma delas que é do tipo passado retornando true neste caso e false, caso contrario.

a) Implemente a classe Despesa.
b) Implemente a classe ControleDeGastos.
c) Escreva um programa principal que crie um objeto do tipo ControleDeGastos e que tenha ao menos duas despesas. Faça com que o programa imprima o total das despesas utilizando o método correspondente da classe ControleDeGastos.


public class Despesa{
    private double valor;
    private String tipoDeGasto;   
   
    Despesa(String tipoDeGasto, double valor){
        this.tipoDeGasto = tipoDeGasto;
        this.valor = valor;
    }

    public double getValor() {
        return valor;
    }
    public void setValor(double valor) {
        this.valor = valor;
    }

    public String getTipoDeGasto() {
        return tipoDeGasto;
    }
    public void setTipoDeGasto(String tipoDeGasto) {
        this.tipoDeGasto = tipoDeGasto;
    }

}

//b)
public class ControleDeGastos{
    private Despesa despesas[] = new Despesa[2];
   
    public void setDespesas(Despesa despesas[]){
        this.despesas = despesas;
    }

    public double calculaTotalDeDespesas(){
        double total=0;
       
        for(int i = 0; i < despesas.length; i++){
            total+=despesas[i].getValor();
        }      return total;
    }
   
    public boolean existeDespesaDoTipo(String tipoDeGasto){
        for(int i = 0; i < despesas.length; i++){
            if(tipoDeGasto == despesas[i].getTipoDeGasto()){
             return true;
            }
        } return false;}}

//c)
public class Gastos{
    public static void main(String[] args){
        Despesa arrayDespesas[] = new Despesa[2];
        arrayDespesas[0] = new Despesa("passagem", 80.15);
        arrayDespesas[1] = new Despesa("jogo", 100.00);
       
        ControleDeGastos despesasTotais = new ControleDeGastos();
        despesasTotais.setDespesas(arrayDespesas);
       
        System.out.println("Total das despesas: " + despesasTotais.calculaTotalDeDespesas());
        System.out.println("alguma despesa com apostila? " + despesasTotais.existeDespesaDoTipo("apostila")
                          +"\nalguma despesa com passagem? " + despesasTotais.existeDespesaDoTipo("passagem"));
    }
}

Nenhum comentário:

Postar um comentário