Bucle anidado
Parte de la sección Fundamentos del Journey de Java de Coddy. Lección 48 de 73.
Un bucle anidado es simplemente un bucle dentro de otro bucle. El bucle interno completará todas sus iteraciones por cada iteración individual del bucle externo.
Una buena analogía para esto es un reloj: por cada hora (bucle externo), la manecilla de los minutos (bucle interno) debe completar su ciclo completo de 60 minutos.
Ejemplo de un bucle anidado:
int rows = 2;
int cols = 2;
for (int x = 0; x < rows; x++) {
for (int y = 0; y < cols; y++) {
System.out.println(x + " " + y);
}
}
// Esto mostrará:
// 0 0
// 0 1
// 1 0
// 1 1El bucle externo (x) se ejecuta rows veces y, en cada una de ellas, el bucle interno (y) se ejecuta cols veces. Cada bucle tiene su propio contador: y vuelve a empezar desde 0 cada vez que se ejecuta el bucle externo, mientras que rows y cols permanecen iguales y solo indican a los bucles cuándo detenerse.
Desafío
PrincipianteEscribe un programa que imprima un rectángulo de asteriscos (*) con un ancho y una altura determinados.
Entrada: dos enteros: width y height
Por ejemplo:
Si width = 5 y height = 3, la salida debería ser:
*****
*****
*****Si width = 4 y height = 6, la salida debería ser:
****
****
****
****
****
****Usa un contador nuevo para cada bucle (por ejemplo, i para las filas y j para los asteriscos de una fila) y compáralo con height o width. No cambies height ni width: cada fila necesita width de nuevo.
Pruébalo tú mismo
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int width = scanner.nextInt();
int height = scanner.nextInt();
// Escribe tu código a continuación
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloIncremento/decrementoIncremento/decremento posteriorAtajos aritméticosOperadores de comparaciónComparación de cadenas7Entrada y salida básicas
Métodos de System.outFormato de salidaClase ScannerRepaso: hasta 120Repaso: verdadero o falso10Métodos (Funciones)
Declaración de métodosParámetros de métodosTipos de retornoSobrecarga de métodosRepaso: función SigmaRepaso: función de validaciónMétodos void13Operaciones con cadenas
Métodos de cadenas, parte 1Métodos de cadenas, parte 2Formato de cadenasComparación de cadenas5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operadores lógicos, parte 48Aplicación de calculadora
Mensaje de bienvenidaObtención de números3Variables Parte 2
ConstantesConvenciones de nomenclaturaRepaso: inicializar variablesConversión de tipos Parte 1Conversión de tipos Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador ternarioRepaso - If ElseIf - Else anidadoPractica por tu cuenta: Compilador de Java online