class MonkeyLoop {
     //The area between class definition and the 1st method is where we keep data for object in Java
     String [][] monkeys;    //2D Array: AP CSA Unit 8: 2D array of strings
                             //2D array is like a grid [x][y]
                             // or like a spreadsheet [row][column]
     /**
      * Constructor initializes a 2D array of Monkeys
      */
     public MonkeyLoop() {
         //Storing Data in 2D arrays
         monkeys = new String[][]{   //2D array above is just a name, "new" makes a container ("object")
                 //Monkey 1
                 {
                         "  Monkey 1",
                         "ʕง ͠° ͟ل͜ ͡°)ʔ ",      //[0][0] eyes
                         "  \\_⏄_/  ",      //[0][1] chin
                         "  --0--   ",       //[0][2] body
                         "  ⎛   ⎞   "        //[0][3] legs
                 },
                 //Monkey 2
                 {
                         "  Monkey 2",
                         " ʕ༼ ◕_◕ ༽ʔ",       //[1][0]
                         "  \\_⎏_/  ",
                         "  ++1++  ",
                         "   ⌋ ⌊   "
                 },
                 //Monkey 3
                 {
                         " Monkey 3",
                         " ʕ(▀ ⍡ ▀)ʔ",       //[2][0]
                         "  \\_⎐_/ ",
                         "  <-2->  ",
                         "  〈  〉 "
                 },
                 //Monkey 4
                 {
                         " Monkey 4",
                         "ʕ ͡° ͜ʖ ° ͡ʔ",        //[3][0]
                         "  \\_⍾_/  ",
                         "  ==3==  ",
                         "  _/ \\_  "
                 },
                 //Monkey 5
                 {
                         " Monkey 5",
                         "  (◕‿◕✿) ",          //[4][0]
                         "  \\_⍾_/ ",          //[4][1]
                         "  ==4==  ",          //[4][2]
                         "  _/ \\_ "           //[4][3]
                 },
         };
     }
     /**
      * Loop and print monkeys in array
      * ... repeat until you reach zero  ...
      */
     public void printPoem() {
         //begin the poem
         System.out.println();
         System.out.println("Monkey Jumpers Poem in Java Loopy");
         // monkeys (non-primitive) defined in constructor knows its length
         int monkeyCount = monkeys.length;
         int rowCount = 0;
         for (int i = monkeyCount; i >= 1; i--)  //loops through 2D array length backwards
         {
             //this print statement shows current count of Monkeys
             //  concatenation (+) of the loop variable and string to form a countdown message
             System.out.println(i + " little monkeys jumping on the bed...");
             for (int col = 0; col < monkeys[rowCount].length; col++) {
                 for (int row = 0; row < monkeyCount; row++) {  //cycles through "cells" of 2d array
                     // prints specific part of the monkey from the column
                     System.out.print(monkeys[row][col] + " ");
                 }
                 //this new line gives separation between stanza of poem
                 System.out.println();
             }
             rowCount += 1;
             //countdown for poem, decrementing monkeyCount variable by 1
             monkeyCount -= 1;
         }
         //out of all the loops, prints finishing messages
         System.out.println("No more monkeys jumping on the bed");
         System.out.println("0000000000000000000000000000000000");
         System.out.println("             THE END              ");
     }
     /**
     * A Java Driver/Test method that is the entry point for execution
     */
     public static void main(String[] args)  {
         new MonkeyLoop().printPoem();   //a new monkey list and output in one step
     }
 }
 MonkeyLoop.main(null);
Monkey Jumpers Poem in Java Loopy
5 little monkeys jumping on the bed...
  Monkey 1   Monkey 2  Monkey 3  Monkey 4  Monkey 5 
ʕง ͠° ͟ل͜ ͡°)ʔ   ʕ༼ ◕_◕ ༽ʔ  ʕ(▀ ⍡ ▀)ʔ ʕ ͡° ͜ʖ ° ͡ʔ   (◕‿◕✿)  
  \_⏄_/     \_⎏_/     \_⎐_/    \_⍾_/     \_⍾_/  
  --0--      ++1++     <-2->     ==3==     ==4==   
  ⎛   ⎞       ⌋ ⌊      〈  〉    _/ \_     _/ \_  
4 little monkeys jumping on the bed...
  Monkey 1   Monkey 2  Monkey 3  Monkey 4 
ʕง ͠° ͟ل͜ ͡°)ʔ   ʕ༼ ◕_◕ ༽ʔ  ʕ(▀ ⍡ ▀)ʔ ʕ ͡° ͜ʖ ° ͡ʔ 
  \_⏄_/     \_⎏_/     \_⎐_/    \_⍾_/   
  --0--      ++1++     <-2->     ==3==   
  ⎛   ⎞       ⌋ ⌊      〈  〉    _/ \_   
3 little monkeys jumping on the bed...
  Monkey 1   Monkey 2  Monkey 3 
ʕง ͠° ͟ل͜ ͡°)ʔ   ʕ༼ ◕_◕ ༽ʔ  ʕ(▀ ⍡ ▀)ʔ 
  \_⏄_/     \_⎏_/     \_⎐_/  
  --0--      ++1++     <-2->   
  ⎛   ⎞       ⌋ ⌊      〈  〉  
2 little monkeys jumping on the bed...
  Monkey 1   Monkey 2 
ʕง ͠° ͟ل͜ ͡°)ʔ   ʕ༼ ◕_◕ ༽ʔ 
  \_⏄_/     \_⎏_/   
  --0--      ++1++   
  ⎛   ⎞       ⌋ ⌊    
1 little monkeys jumping on the bed...
  Monkey 1 
ʕง ͠° ͟ل͜ ͡°)ʔ  
  \_⏄_/   
  --0--    
  ⎛   ⎞    
No more monkeys jumping on the bed
0000000000000000000000000000000000
             THE END