lunes, 5 de septiembre de 2011

Como Programar en Java: Ejercicio 4.18

Aquí esta el ejercicio 4.18 de Como Programar en Java séptima edición.

package com.jlm.ccb.ejercicios.capitulo4;

import java.util.Scanner;

/**
 * Clase que contiene los datos de un cliente.
 * Ejercicio 4.18
 * @author LorettoTG
 * @version 1.0
 *
 */
public class Cliente {
    /**
     * Contiene el número de cuenta.
     */
    int cuenta;
    /**
     * Contiene el saldo al inicio del mes.
     */
    double saldoInicio;
    /**
     * Contiene el total de todos los artículos cargados
     * por el cliente en el mes.
     */
    double totalArticulos;
    /**
     * Contiene el total de todos los créditos aplicados
     * a la cuenta del cliente en el mes.
     */
    double totalCreditos;
    /**
     * Contiene el límite de crédito permitido.
     */
    double limiteCredito;

    /**
     * Método que calcula el nuevo saldo con la siguiente
     * formula =saldo inicial + cargos - créditos
     * @param saldoInicio double con el total de todos los
     * artículos cargados por el cliente en el mes.
     * @param totalArticulos double con el total de todos
     * los créditos aplicados a la cuenta del cliente en el mes.
     * @param totalCreditos double con el límite de crédito
     * permitido.
     */
    public void calcularSaldo(double saldoInicio, 
            double totalArticulos, double totalCreditos) {
        double nuevoSaldo = saldoInicio + totalArticulos - totalCreditos;
        System.out.println("Su nuevo saldo es: " + nuevoSaldo);
        if (nuevoSaldo > limiteCredito) {
            System.out.println("Se excedió el límite de su crédito");
        }
    }

    /**
     * Este es un getter que obtiene el cuenta.
     * @return el cuenta int.
     */
    public int getCuenta() {
        return cuenta;
    }
    /**
     * Este es un setter que asigna el cuenta.
     * @param cuenta de tipo int el cuenta a asignar.
     */
    public void setCuenta(int cuenta) {
        this.cuenta = cuenta;
    }
    /**
     * Este es un getter que obtiene el saldoInicio.
     * @return el saldoInicio double.
     */
    public double getSaldoInicio() {
        return saldoInicio;
    }
    /**
     * Este es un setter que asigna el saldoInicio.
     * @param saldoInicio de tipo double el 
     * saldoInicio a asignar.
     */
    public void setSaldoInicio(double saldoInicio) {
        this.saldoInicio = saldoInicio;
    }
    /**
     * Este es un getter que obtiene el totalArticulos.
     * @return el totalArticulos double.
     */
    public double getTotalArticulos() {
        return totalArticulos;
    }
    /**
     * Este es un setter que asigna el totalArticulos.
     * @param totalArticulos de tipo double el 
     * totalArticulos a asignar.
     */
    public void setTotalArticulos(double totalArticulos) {
        this.totalArticulos = totalArticulos;
    }
    /**
     * Este es un getter que obtiene el totalCreditos.
     * @return el totalCreditos double.
     */
    public double getTotalCreditos() {
        return totalCreditos;
    }
    /**
     * Este es un setter que asigna el totalCreditos.
     * @param totalCreditos de tipo double el 
     * totalCreditos a asignar.
     */
    public void setTotalCreditos(double totalCreditos) {
        this.totalCreditos = totalCreditos;
    }
    /**
     * Este es un getter que obtiene el limiteCredito.
     * @return el limiteCredito double.
     */
    public double getLimiteCredito() {
        return limiteCredito;
    }
    /**
     * Este es un setter que asigna el limiteCredito.
     * @param limiteCredito de tipo double 
     * el limiteCredito a asignar.
     */
    public void setLimiteCredito(double limiteCredito) {
        this.limiteCredito = limiteCredito;
    }

    /**
     * Punto de entrada a la clase y a la aplicación.
     * @param args matriz de argumentos de cadena.
     */
    public static void main(String[] args) {
        Cliente cliente = new Cliente();
        //Se crea un objeto Scanner para obtener la entrada
        //de datos del usuario.
        Scanner entrada = new Scanner(System.in);

        System.out.println("Deme el numero de cuenta: ");
        cliente.setCuenta(entrada.nextInt());

        System.out.println("Deme el saldo al inicio del mes: ");
        cliente.setSaldoInicio(entrada.nextDouble());

        System.out.println("Deme el total de todos los articulos: ");
        cliente.setTotalArticulos(entrada.nextDouble());

        System.out.println("Deme el total de creditos: ");
        cliente.setTotalCreditos(entrada.nextDouble());

        System.out.println("Deme el límite de crédito: ");
        cliente.setLimiteCredito(entrada.nextDouble());

        cliente.calcularSaldo(cliente.getSaldoInicio(),
                cliente.getTotalArticulos(), cliente.getTotalCreditos());
    }
}

No hay comentarios:

Publicar un comentario