¡Buenas tardes lectores! Acá mi profesor de Física 2 de mi ingeniería me trae algo atareado con algunas ejercicios de electromagnetismo, pero a petición de un lector escribo este breve post para aclarar un poco más el tema de los for anidados.
Como ya habíamos mencionado los for anidados no son más que un (o más) for dentro de otro for, y para explicarlo mejor escribí un pequeño programa que imprime el numero de meses de un año y en cada mes imprime el numero de los días del mes. Aquí el código:
//Archivo: ForAnidados.java public class ForAnidados{ public static void main(String args[]){ for(int mes=1; mes<=12; mes++){ System.out.println("Mes "+mes); for(int dia=1; dia<=30; dia++) System.out.println("\tDia "+dia); } } }
Para este programa usamos 2 for, anidados. Hacemos nuestro main, y en la linea 7 hacemos un for que se encargara de la impresión de los meses, en la linea 10 anidamos otro for que se encargara de la impresión de los días.
En el primer for declaramos nuestra variable int mes que sera nuestro contador para ese for, y le establecemos la condición de que debe iterar mientras mes valga menos o igual a 12 (ya que son 12 los meses del año) y después le indicamos que nuestra variable mes debe incrementar en uno (++).
Cuando se entra al primer for, mes vale 1 e imprime el mensaje "Mes 1", después de imprimir ese mensaje en la linea 8 se pasa a la linea 10 donde se declara el segundo for, para este declaramos int dia (esta variable sera nuestro contador para este for) y le establecemos la condición de que siga iterando mientras dia sea menor o igual a 30 (ya que son los días que contiene un mes, le puse 30 por dafault, pero recuerde que hay meses que contienen mas o menos de 30 días) y después le damos un incremento a nuestra variable día. Después en la linea 11, imprimimos un mensaje en pantalla "Dia" y se le concatena lo que contenga nuestra variable día.