Bucles anidados en Java

Hola a todos, hoy os explicare como entender el uso de bucles anidados.

Un bucle anidado es un bucle dentro de otro bucle, debemos de tener en cuenta como lo podemos utilizar correctamente, esta práctica se suele utilizar para recorrer arrays multidimensionales o manejar coordenadas, por ejemplo.

Una buena practica es dibujar figuras geométricas regulares.  Veamos un ejemplo, dibujemos un cuadrado con asteriscos:

import javax.swing.JOptionPane;
public class CuadradoApp {

	public static void main(String[] args) {

		String texto=JOptionPane.showInputDialog("Escribe el lado del cuadrado");
		int lado=Integer.parseInt(texto);

		cuadrado(lado);

	}
	public static void cuadrado (int lado){
		int numeroasteriscos=lado;

		//Dibujamos la parte de arriba del cuadrado
		for(int cont=0;numeroasteriscos>cont;cont++){
			System.out.print("*");
		}
		System.out.println("");

		//Usamos un bucle anidado para dibujar los asteriscos del medio
		for(int cont=1;(numeroasteriscos-2)>=cont;cont++){
			System.out.print("*");
			//Este bucle dibuja los espacio entre el primer y ultimo asterisco
			for (int i=0;(numeroasteriscos-2)>i;i++){
				System.out.print(" ");
			}
			System.out.print("*");
			System.out.println("");
		}

		//Dibujamos la parte de abajo del cuadrado
		for(int cont=0;numeroasteriscos>cont;cont++){
			System.out.print("*");
		}
	}

}

Este es el resultado si insertamos de lado un 5:

cuadrado

Como vemos en el anterior ejemplo, necesitamos el bucle anidado para dibujar la parte del medio del cuadrado, es como manejar coordenadas, el bucle principal controla las filas y el bucle anidado las columnas.

Espero que os sea de ayuda. Si tenéis dudad, preguntad. Estamos ayudarte.

Etiquetas

15 comments

  1. necesito dibujar el contorno de un triangulo, pero no me da,

    Gracias de antemano

  2. un tigre que me ayude en una practica porfa sera remunerado

  3. Es un muy buen ejemplo de como usarlo pero me pregunto si no tendrás un ejemplo pero creando una lista de empleados que se guarde usando get y set

  4. porque cuadrado(lado);??
    que hace??

  5. Una empresa de aviación tiene N registros con la siguiente información: Nombre, Sexo, Edad,
    Dirección, Teléfono y Destino
    Sabiendo que: Destino: (1 Bogotá, 2 Cali, 3 Pereira, 4 Cúcuta, 5 Cartagena)
    Sexo: (1 Masculino, 2 Femenino)
    Se pide:
    a). Cuántas personas viajan a cada destino.
    b). Nombre y dirección de las personas que viajan a Bogotá.
    c). Cuántos hombres mayores de edad viajan a Pereira.
    d). Nombre, edad y teléfono de las mujeres que viajan a Cartagena.
    e). Promedio de edad de los hombres que viajan a Cartagena.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *