title: Java Recursion.. need help understanding the solution of the recursive case
body: <p>Write a method writeChars that accepts an integer parameter n and that prints out n characters as follows. The middle character of the output should always be an asterisk ("*"). If you are asked to write out an even number of characters, then there will be two asterisks in the middle ("**"). Before the asterisk(s) you should write out less-than characters ("&lt;"). After the asterisk(s) you should write out greater-than characters (">"). </p>
  
  <p>I've managed to solve the problem but dont quite understand one statement: </p>
  
  <pre><code>public void writeChars(int n) {
      if ( n &lt; 1 ) {
          throw new IllegalArgumentException();
      }
      
      if( n == 1 ){
          System.out.print("*");
          return;
      }
      
      if ( n == 2 ) {
          System.out.print("**");
          return;
      }
      
      System.out.print("&lt;");
      writeChars(n-2);
      System.out.print("&gt;");
  }
  </code></pre>
  
  <p>why is the recursive case:</p>
  
  <pre><code>writeChars(n-2);
  </code></pre>
  
  <p>n-2? instead of n-1?</p>