Ciclo while()
Como indicamos al inicio del tutorial, este ciclo nos permite ejecutar instrucciones en el programa mientras la condición que se evalúa se cumpla, esto nos ayuda a resolver muchos temas de bloques de código repetitivos que de otra forma tendríamos que llenar de forma manual.
En este punto tal vez se pregunten que es un contador, no es más que una variable de control a la cual le vamos a ir sumando cada vez que se cumpla un ciclo, veamos el siguiente ejemplo:
int contador = 0; while (count < 10) { System.out.println("Imprimo la linea: " + contador); contador++; }
Vemos que declaramos nuestro contador, luego le decimos que la condición es que mientras contador sea menor que 10 ejecute el código interno, en este caso imprimiremos una línea, luego de imprimir le sumamos 1 al contador de forma que cuando se evalúe de nuevo en el while su valor se vaya acercando a 10 con cada iteración.
Adivina que número pienso
Vamos a poner en práctica el uso del ciclo while() con un pequeño juego, vamos a generar un número aleatorio entre el 1 y el 100 y le vamos a pedir al usuario que lo adivine, sin embargo lo vamos a ayudar un poco por cada respuesta le diremos si está más por debajo o por encima del valor hasta que lo adivine.
Veamos el código:
import java.util.Scanner; public class AdivinaElNumero { public static void main(String[] args) { // Generamos un numero aleatorio int number = (int)(Math.random() * 21); Scanner input = new Scanner(System.in); System.out.println("Adivina que numero pienso , entre el 0 y el 20"); int guess = -1; while (guess != number) { // Pedimos el numero al usuario System.out.print("\nIngresa tu opcion: "); guess = input.nextInt(); if (guess == number) System.out.println("Si!!, el numero es: " + number); else if (guess > number) System.out.println("Estas muy por encima"); else System.out.println("Estas muy por debajo"); // Fin del ciclo } } }
Para finalizar el tutorial veamos cómo quedo nuestro programa en la siguiente imagen: