Why this code Force Quits?
<p>I have starting learning Java and android application development side-by-side. Currently, I a String-array colorsArray which I am trying to print using Log.v</p>

<pre><code>    &lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;resources&gt;
    &lt;string name="hello"&gt;Hello World, defaultActivity!&lt;/string&gt;
    &lt;string name="app_name"&gt;Challenge&lt;/string&gt;
    &lt;string name="red"&gt;Red&lt;/string&gt;  
    &lt;string name="orange"&gt;Orange&lt;/string&gt;  
    &lt;string name="yellow"&gt;Yellow&lt;/string&gt;  
    &lt;string name="green"&gt;Green&lt;/string&gt;  
    &lt;string name="blue"&gt;Blue&lt;/string&gt;  
    &lt;string name="indigo"&gt;Indigo&lt;/string&gt;  
    &lt;string name="violet"&gt;Violet&lt;/string&gt;  
    &lt;string-array name="colorsArray"&gt;  
        &lt;item&gt;@string/red&lt;/item&gt;  
        &lt;item&gt;@string/orange&lt;/item&gt;  
        &lt;item&gt;@string/yellow&lt;/item&gt;  
        &lt;item&gt;@string/green&lt;/item&gt;  
        &lt;item&gt;@string/blue&lt;/item&gt;  
        &lt;item&gt;@string/indigo&lt;/item&gt;  
        &lt;item&gt;@string/violet&lt;/item&gt;  
    &lt;/string-array&gt;  
&lt;/resources&gt;
</code></pre>

<p>Now I am trying to print that array in different ways, just for practice.</p>

<pre><code>package com.gaurish.challenge;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class defaultActivity extends Activity {
    /** Called when the activity is first created. */
    public static final String DEBUG_TAG = "PracticeApp";


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    String aColors[] = getResources().getStringArray(R.array.colorsArray);
    printUsingForEach(aColors);
    printUsingWhile(aColors);
    printReverse(aColors);
}

private void printUsingForEach(String[] aColors) {
    for(String i : aColors) {
        Log.v(DEBUG_TAG, "String array printed using for each loop: " + i);
    }
}

private void printUsingWhile(String[] aColors) {
    byte i=0;
    while(i&lt;=aColors.length) {
        Log.v(DEBUG_TAG, "String array printed using While loop: " + aColors[i++]);
    }
}

private void printReverse(String[] aColors) {
    int i=aColors.length -1;
    while(i&gt; (-1) ) {
        Log.v(DEBUG_TAG, "String array printed in reverse order -&gt; " + aColors[i--]);
    }
}
}
</code></pre>

<p>printUsingForEach() &amp; printUsingWhile() run just fine but printReverse method just not run, the application force quits before reaching. <a href="https://gist.github.com/824787" rel="nofollow">here is the log</a> I am building against android 1.6</p>

<p>Please guide this n00b, why this is happening</p>
