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.

Compartir

10 comentarios

  1. Daniel Ortiz

    Como hago para que me imprima lo sigueinte:
    2
    3 1
    4 2
    5
    Ayudame, por fa

  2. percy

    como hago para obtener en pantalla esto:
    2,8,16,32,64,128
    al ingresar el numeroo 7

  3. Estefania

    como le hago para que el codigo me muestre esto

    4
    1
    12
    123
    1234
    123
    12
    1

  4. Ariadne

    alguien me puede ayudar ? necesito ayuda con estos programas ya que me pide el primero 1. REALIZAR UN PROGRAMA QUE SOLICITE UN NUMERO EN ESTE CASO X=5, Y COMO RESULTADO IMPRIMA LO SIGUIENTE:

    12345
    12345
    12345
    12345
    12345

    Y EL SEGUNDO PROGRAMA 2. REALIZAR UN PROGRAMA QUE SOLICITE UN NUMERO EL MISMO DEL PRIMER PROGRAMA (X=5) Y COMO RESULTADO IMPRIMA LO SIGUIENTE:

    1
    SUMA=1
    1 2
    SUMA=3
    1 2 3
    SUMA=6
    1 2 3 4
    SUMA=10
    Y POR ULTIMO
    1 2 3 4 5
    SUMA=15

    ESPERO PUEDAN AYUDARME

  5. Copex

    Proceso Ariadne_Ej1
    Escribir ‘Ingrese un numero: ‘
    Leer n
    Para i<-1 Hasta n Hacer
    Para j<-1 Hasta n Hacer
    Escribir j Sin Saltar
    FinPara
    Escribir ""
    FinPara
    FinProceso

    ========================================================

    Proceso Ariadne_Ej2
    Escribir 'Ingrese un numero: '
    Leer n
    Para i<-1 Hasta n Hacer
    s<-s+i
    Para j<-1 Hasta i Hacer
    Escribir j Sin Saltar
    FinPara
    Escribir ''
    Escribir 'Suma = ',s
    FinPara
    FinProceso

    PD: No tengo la plataforma de Java, pero tranquilamente lo puedes llevar a cualquier lenguaje !!!

  6. karla

    como genero esta serie 2 -4 6 -8 10 -12 14

  7. Alex

    Hola, tengo una duda con un ejercicio que no se hacer yo se que se hace con ciclos pero no me da, si me pueden ayudar gracias
    Recibe numeros enteros mayores que 0
    Para n = 4:

    …4
    ..3*
    .2**
    1***

    Para n = 5:

    ….5
    …4*
    ..3**
    .2***
    1****

  8. Helen

    Y en sublime o dreamwever el código como iría ya lo intente todo y nada.
    Espero me puedan ayudar

  9. Delman

    hola necesito hacer la siguiente figura, pero no me queda

    *
    * *
    * *
    * *
    * * * * * * * * *
    De ante mano, gracias

Deja una respuesta

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