jueves, 7 de abril de 2011

Solución Exámen 2do Parcial

La evaluación para las notas se hará en base al siguiente criterio:

Actividad Valor Unitario Total
Caso de Uso (Ejercicio) 30 30
Creación los constructores de la clase Cuenta 5 10
Creación de los métodos de la clase Cuenta
10
30
Creación de Objeto Cuenta con el constructor sin parámetros (default)
10
10
Creación del Objeto Cuenta con el constructor con parámetros 10 10
Funcionalidad del programa (que ejecute) 10 10

Enunciado:


Crear una clase en java que represente una cuenta bancaria.  La cuenta debe tener como atributos el número de cuenta que será un número entero,  el titular de la cuenta que será el nombre de la persona dueña de la cuenta y su saldo (del tipo doble).
La clase deberá tener un método llamado Retiro que permita disminuir el saldo de la cuenta en un monto específico y un método Deposito que deberá aumentar la cuenta en un monto específico.
La clase deberá disponer de un constructor  por defecto y un constructor con parámetros (todos los parámetros).
Un tercer método llamado balance deberá mandar a imprimir por pantalla todos los datos de la cuenta.   Si la cuenta tiene menos de 500 deberá generarse un mensaje que diga “CUENTA POR DEBAJO DEL LIMITE PERMITIDO”.  Si la cuenta excede los  500 deberá imprimir “CUENTA CON SALDOS NORMALES”. Si la cuenta excede los 500 se incrementará el saldo un 2% en concepto de bonificación.

Solución:

Archivo : Cuenta.java

// Definición de la clase Cuenta
public class Cuenta {
    // Definición de los atributos
    int numero;
    String nombre;
    double saldo;

    // Definición del constructor con parámetros
    public Cuenta(int numero, String nombre, double saldo) {
        this.numero = numero;
        this.nombre = nombre;
        this.saldo = saldo;
    }

    // Definición del constructor por defecto (Sin parámetros)
    public Cuenta(){}

    // Definición del método Deposito el cual aumentará el saldo
    // de la cuenta.  Solo se requiere pasar un parámetos para
    // aumentar el saldo con un monto.
    public void Deposito(double monto){
        this.saldo = this.saldo + monto;
    }

    // Definición del método Retiro, el cual debe disminuir la cuenta
    // por el retiro de dinero que acabamos de hacer.
    public void Retiro(double monto){
        this.saldo = this.saldo - monto;
    }

    // El método balance solo imprime la información de la cuenta
    public void Balance()
    {
        System.out.println("INFORMACION DE LA CUENTA");
        System.out.println("------------------------");
        System.out.println("Número   :" + this.numero);
        System.out.println("Titular  :" + this.nombre);
        System.out.println("Saldo    :" + this.saldo); 
if (this.saldo < 500)
            System.out.println("CUENTA CON SALDO POR DEBAJO DEL LIMITE PERMITIDO");
        if (this.saldo > 500)
        {
            System.out.println("SE BONIFICARA CON 2% POR EXECEDER LOS 500");
            this.saldo = this.saldo + (this.saldo * 0.02);
            System.out.println("Nuevo Saldo :" + this.saldo); 
}
    }
}

Archivo : CuentaBanco.java

// Definición del programa principal
public class CuentaBanco {
    public static void main(String[] args) {
        // Crear un objeto Cuenta con el constructor por defecto
        Cuenta cuenta1 = new Cuenta();
        cuenta1.numero = 1;
        cuenta1.nombre = "Jose de la Paz";
        cuenta1.saldo = 1000;
        // La cuenta inició con un saldo de 1000, ahora vamos a hacerle
        // un retiro de 400
        cuenta1.Retiro(400);

        // La cuenta debió haber quedado con 600, podemos imprimir
        // el balance para verificar.
        cuenta1.Balance();

        //Ahora haremos un depósito a la cuenta por 350
        cuenta1.Deposito(350);

        // La cuenta deberá tener ahora 950
        cuenta1.Balance();

        // Crear un objeto Cuenta con el constructor con parámetros
        Cuenta cuenta2 = new Cuenta(2,"María Asunción", 2000);
        cuenta2.Deposito(450);
        cuenta2.Balance();
    }
}

La solución anterior está orientada a dos archivos. Se pueden generar un solo archivo como hemos acostumbrado creando un solo archivo llamado CuentaBanco.java
con todos los datos, excepto que la clase Cuenta no debería quedar como pública. Recordemos que solo puede existir en java una clase pública por archivo. La solución en todo caso quedaría así:

Archivo : CuentaBanco.java


// Definición del programa principal
public class CuentaBanco {
    public static void main(String[] args) {
        // Crear un objeto Cuenta con el constructor por defecto
        Cuenta cuenta1 = new Cuenta();
        cuenta1.numero = 1;
        cuenta1.nombre = "Jose de la Paz";
        cuenta1.saldo = 1000;
        // La cuenta inició con un saldo de 1000, ahora vamos a hacerle
        // un retiro de 400
        cuenta1.Retiro(400);

        // La cuenta debió haber quedado con 600, podemos imprimir
        // el balance para verificar.
        cuenta1.Balance();

        //Ahora haremos un depósito a la cuenta por 350
        cuenta1.Deposito(350);

        // La cuenta deberá tener ahora 950
        cuenta1.Balance();

        // Crear un objeto Cuenta con el constructor con parámetros
        Cuenta cuenta2 = new Cuenta(2,"María Asunción", 2000);
        cuenta2.Deposito(450);
        cuenta2.Balance();
    }
}

class Cuenta {
    // Definición de los atributos
    int numero;
    String nombre;
    double saldo;

    // Definición del constructor con parámetros
    public Cuenta(int numero, String nombre, double saldo) {
        this.numero = numero;
        this.nombre = nombre;
        this.saldo = saldo;
    }

    // Definición del constructor por defecto (Sin parámetros)
    public Cuenta(){}

    // Definición del método Deposito el cual aumentará el saldo
    // de la cuenta.  Solo se requiere pasar un parámetos para
    // aumentar el saldo con un monto.
    public void Deposito(double monto){
        this.saldo = this.saldo + monto;
    }

    // Definición del método Retiro, el cual debe disminuir la cuenta
    // por el retiro de dinero que acabamos de hacer.
    public void Retiro(double monto){
        this.saldo = this.saldo - monto;
    }

    // El método balance solo imprime la información de la cuenta
    public void Balance()
    {
        System.out.println("INFORMACION DE LA CUENTA");
        System.out.println("------------------------");
        System.out.println("Número   :" + this.numero);
        System.out.println("Titular  :" + this.nombre);
        System.out.println("Saldo    :" + this.saldo);
    }
}

No hay comentarios:

Publicar un comentario