// Nested For Loop Demo, M.S. Branicky, 09/25/2006, 09/17/2007

public class NestedLoops {
  public static void main (String[] args) {
    
    int i, j;
    
    // print 15 stars
    System.out.println("\n Print 15 stars: \n");
    for (i=0; i<5; i++) {
      for (j=0; j<3; j++) {
        System.out.print("*");
      }
      System.out.print(" ");
    }
    System.out.println();
    
    // print 15 multiplies
    System.out.println("\n Print 15 multiplies: \n");
    for (i=0; i<5; i++) {
      for (j=0; j<3; j++) {
        System.out.println(i+"*"+j+" = "+(i*j));
      }
    }
    
    // print a 5 by 10 field of stars
    System.out.println("\n Print a 5 by 10 field of stars: \n");
    for (i=0; i<5; i++) {
      // offset every other line
      if (i%2==1) System.out.print(" ");
      for (j=0; j<10; j++) {
        System.out.print("* ");
      }
      System.out.println();
    }
    
    // print a 5 by 10 field of integers
    System.out.println("\n Print a 5 by 10 field of integers: \n");
    for (i=0; i<5; i++) {
      System.out.print(i+": ");
      for (j=0; j<10; j++) {
        System.out.print(j+" ");
      }
      System.out.println();
    }
    
    // print the matrix
    //   0 1 2 3
    //   1 2 3 4
    //   2 3 4 5
    //   3 4 5 6
    System.out.println("\n Print the matrix: \n");
    for (i=0; i<4; i++) {
      for (j=0; j<4; j++) {
        System.out.print((i+j)+" ");
      }
      System.out.println();
    }    
  }
}

