viernes, 19 de agosto de 2011

Como Programar en Java: Ejercicio 3.13

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

package com.jlm.ccb.ejercicios.capitulo3;

/**
 * Objeto que una ferretería podría utilizar para
 * representar una factura para un artículo vendido
 * en la tienda.
 * Ejercicio 3.13
 * @author LorettoTG
 * @version 1.0
 *
 */
public class Factura {
    /**
     * Contiene el número de la pieza.
     */
    String numeroPieza = "";
    /**
     * Contiene la descripción de la pieza.
     */
    String descripcionPieza = "";
    /**
     * Contiene la cantidad de artículos de ese
     * tipo que se van a comprar.
     */
    int cantidadPieza = 0;
    /**
     * Contiene el precio de la pieza.
     */
    double precioPieza = 0;

    /**
     * Constructor de Factura que inicializa el numero de
     * la pieza, la descripción de la pieza, la cantidad
     * de esa pieza y el precio de la pieza. Si la cantidad de
     * las piezas es menor a cero, la establece en cero, si el
     * precio por pieza es menor a cero lo establece en cero.
     * @param numeroPieza String con el número de la pieza.
     * @param descripcionPieza String con la descripción de la pieza.
     * @param cantidadPieza int con la cantidad de artículos de ese
     * tipo que se van a comprar.
     * @param precioPieza double con el precio de la pieza.
     */
    public Factura(String numeroPieza, String descripcionPieza,
            int cantidadPieza, double precioPieza) {
        this.numeroPieza = numeroPieza;
        this.descripcionPieza = descripcionPieza;
        if (cantidadPieza < 0) {
            this.cantidadPieza = 0;
        } else {
            this.cantidadPieza = cantidadPieza;
        }
        if (precioPieza < 0) {
            this.precioPieza = 0.0;
        } else {
            this.precioPieza = precioPieza;
        }
    }

    /**
     * Este es un getter que obtiene el numeroPieza.
     * @return el numeroPieza String.
     */
    public String getNumeroPieza() {
        return numeroPieza;
    }

    /**
     * Este es un setter que asigna el numeroPieza.
     * @param numeroPieza de tipo String el numeroPieza a asignar.
     */
    public void setNumeroPieza(String numeroPieza) {
        this.numeroPieza = numeroPieza;
    }

    /**
     * Este es un getter que obtiene el descripcionPieza.
     * @return el descripcionPieza String.
     */
    public String getDescripcionPieza() {
        return descripcionPieza;
    }

    /**
     * Este es un setter que asigna el descripcionPieza.
     * @param descripcionPieza de tipo String el descripcionPieza a asignar.
     */
    public void setDescripcionPieza(String descripcionPieza) {
        this.descripcionPieza = descripcionPieza;
    }

    /**
     * Este es un getter que obtiene el cantidadPieza.
     * @return el cantidadPieza int.
     */
    public int getCantidadPieza() {
        return cantidadPieza;
    }

    /**
     * Este es un setter que asigna el cantidadPieza.
     * @param cantidadPieza de tipo int el cantidadPieza a asignar.
     */
    public void setCantidadPieza(int cantidadPieza) {
        this.cantidadPieza = cantidadPieza;
    }

    /**
     * Este es un getter que obtiene el precioPieza.
     * @return el precioPieza double.
     */
    public double getPrecioPieza() {
        return precioPieza;
    }

    /**
     * Este es un setter que asigna el precioPieza.
     * @param precioPieza de tipo double el precioPieza a asignar.
     */
    public void setPrecioPieza(double precioPieza) {
        this.precioPieza = precioPieza;
    }

    /**
     * Método que obtiene el monto de la factura, multiplica
     * la cantidad de piezas por el precio de la pieza.
     * @return resultado double con el monto de la factura.
     */
    public double obtenerMontoFactura() {
        double resultado = 0.0;
        resultado = getCantidadPieza() * getPrecioPieza();
        return resultado;
    }

    /**
     * Punto de entrada a la clase y a la aplicación.
     * @param args matriz de argumentos de cadena.
     */
    public static void main(String[] args) {
        Factura factura = new Factura("15478", "Tornillo", 100, 5.021);
        System.out.println("Monto de la factura: " + factura.obtenerMontoFactura());

        factura = new Factura("14444", "clavo", -1, 100);
        System.out.println("Monto de la factura: " + factura.obtenerMontoFactura());

        factura = new Factura("14544", "tuerca", 10, -100);
        System.out.println("Monto de la factura: " + factura.obtenerMontoFactura());

        factura = new Factura("123456", "Foco", -10, -781);
        System.out.println("Monto de la factura: " + factura.obtenerMontoFactura());
    }
}

No hay comentarios:

Publicar un comentario