miércoles, 5 de octubre de 2011

Como Programar en Java: Ejercicio 6.33

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


package com.jlm.ccb.ejercicios.capituloseis;

import java.util.Random;
import java.util.Scanner;

/**
 * Clase encargada de realizar el juego de adivina
 * un número.
 * Ejercicio 6.33
 * @author LorettoTG
 * @version 1.0
 */
public class AdivinaNumero {
    //Se crea un objeto Scanner para obtener la entrada
    //de datos del usuario.
    static Scanner entrada = new Scanner(System.in);

    /**
     * Método encargado de generar un número aleatorio
     * entre 1 a 1000 e indicar si el usuario se acerco
     * o no al número.
     */
    public void adivinar() {
        Random aleatorio = new Random();
        int aAdivinar = aleatorio.nextInt(1000) + 1;
        int ingresado = 0;

        System.out.println("Adivine un número entre 1 a 1000");

        while (aAdivinar != ingresado) {
            ingresado = entrada.nextInt();

            if (ingresado < aAdivinar) {
                System.out.println("Demasiado bajo. Intente de nuevo.");
            } else if (ingresado > aAdivinar) {
                System.out.println("Demasiado alto. Intente de nuevo.");
            } else {
                System.out.println("FELICIDADES. Adivino el número!");
            }
        }
    }

    /**
     * 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.
        AdivinaNumero numero = new AdivinaNumero();

        int opcion = 1;

        while (opcion == 1) {
            numero.adivinar();
            System.out.println("Quiere adivinar otro número? "
                    + "(1) Si, (Otro) No");
            opcion = entrada.nextInt();
        }
    }
}

No hay comentarios:

Publicar un comentario