Perhaps you're confused about the purpose of the Character.getNumericValue(char c) method. You can read about it here. From that page:
The letters A-Z in their uppercase ('\u0041' through '\u005A'), lowercase ('\u0061' through '\u007A'), and full width variant ('\uFF21' through '\uFF3A' and '\uFF41' through '\uFF5A') forms have numeric values from 10 through 35. This is independent of the Unicode specification, which does not assign numeric values to these char values.
So the numeric value returned from that method for the character 'a' should be 10. That doesn't mean the Unicode value. It means the numeric equivalent of the character, which doesn't make sense for a letter, so the method returns an arbitrary range of numbers for the letters.
Try this variation of your program to see one intended purpose of the getNumericValue method: