Index out of bounds Numeric analyzer.
I get my program to compile correctly but when i run it it gives me an out of bounds error. Anyone know whats going on? And maybe a solution: Code:
class AnalyzeDigits3 {
public static void main(String[] args) {
int number = Integer.parseInt(args[0]);
String[] data = analyzeDigits(number);
System.out.println(data[0]);
System.out.println(data[1]);
}
public static String[] analyzeDigits(int number) {
String n = Integer.toString( Math.abs(number) );
StringBuffer evenDigits = new StringBuffer("even digits:");
StringBuffer oddDigits = new StringBuffer("odd digits:");
for (int index = 0; index < n.length(); index++) {
char digit = n.charAt(index);
switch (digit) {
case '0': case '2': case '4': case '6': case '8':
evenDigits.append(
( lastCharInBufferIsDigit(evenDigits) ? ", " : " ") + digit
);
break;
case '1': case '3': case '5': case '7': case '9':
oddDigits.append(
( lastCharInBufferIsDigit(oddDigits) ? ", " : " ") + digit
);
break;
} //end switch selection
} // end for loop
return new String[]{evenDigits.toString(), oddDigits.toString()};
} // end analyzeDigits method
private static boolean lastCharInBufferIsDigit(StringBuffer buffer) {
return Character.isDigit( buffer.charAt( (buffer.length() - 1) ) );
}
}// end AnalyzeDigits3 class
Welcome to DrJava. Working directory is C:\Users\SeanJJ
> java AnalyzeDigits3
java.lang.ArrayIndexOutOfBoundsException: 0
at AnalyzeDigits3.main(AnalyzeDigits3.java:3)