sábado, 10 de septiembre de 2011

Como Programar en Java: Ejercicio 4.23

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

package com.jlm.ccb.ejercicios.capitulo4;

import java.util.Scanner;

/**
 * Clase encargada de obtener los dos enteros más grandes
 * de un conjunto de 10 enteros.
 * Ejercicio 4.23
 * @author LorettoTG
 * @version 1.0
 */
public class DosMasGrandes {
    /**
     * Método encargado de obtener los dos enteros mas
     * grandes de un conjunto de 10 enteros.
     */
    public void calcularGrandes() {
        /**
         * Contiene el contador del ciclo while.
         */
        int contador = 0;

        /**
         * Contiene el entero introducido por el usuario.
         */
        int numero = 0;

        /**
         * Contiene el mayor de los enteros introducidos por
         * el usuario.
         */
        int mayor = 0;

        /**
         * Contiene el segundo entero mayor de los enteros
         * introducidos por el usuario.
         */
        int segundoMayor = 0;

        //Se crea un objeto Scanner para obtener la entrada
        //de datos del usuario.
        Scanner entrada = new Scanner(System.in);

        //En el caso del ciclo while: Primero se evalúa la condición 
        //de entrada si es verdadera ejecuta las sentencias en su
        //cuerpo, luego vuelve a verificar la condición de entrada 
        //y hasta que sea falsa sale del ciclo.
        while (contador < 10) {
            System.out.print("\nDame un entero: ");
            numero = entrada.nextInt();

            //Si entra en numero > mayor inmediatamente el segundoMayor
            //se le asigna lo que tenía el mayor puesto que este deja de
            //ser el mayor.
            if (numero > mayor) {
                segundoMayor = mayor;
                mayor = numero;
            } else if (numero > segundoMayor) {
                segundoMayor = numero;
            }
            contador++;
        }

        System.out.println("\nEl entero más grande es: " + mayor
                + " y el segundo más grande es: " + segundoMayor);
    }

    /**
     * Punto de entrada a la clase y a la aplicación.
     * @param args matriz de argumentos de cadena.
     */
    public static void main(String[] args) {
        //El operador new es el encargado de crear instancias de
        //una clase, es decir los objetos que tienen las características
        //de la clase. El operador new de Java es capaz de reservar la
        //memoria para un objeto de este tipo sabiendo los atributos que
        //tiene según la definición de la clase.
        DosMasGrandes dosMasGrandes = new DosMasGrandes();
        dosMasGrandes.calcularGrandes();
    }
}

1 comentario: