What you know:
1. You need to create an array of characters (char) that stores the contents of the string.
2. You need to be able to tell if a character is uppercase or lowercase.
3. You need to be able to reverse an array.
It sounds like you're stuck on #2. The answer to that is that the char datatype in Java is actually a two-byte number, and each number represents a character such as 'a' or '1'. There are tables on the internet indicating which characters mean what. Unless your string class needs to support funny Russian characters or somesuch, you can probably use the ASCII table. There is a mathematical relationship between each small letter and its corresponding uppercase ( 'a' + 32 = 'A' I believe)
http://www.asciitable.com/
If your only restriction is that you can't use type String, there is a java.lang.Character class you may want to check out.
Hope this gives you a few pointers in the right direction.