This is a solution in case you are not using Java 8 with streams and Lambdas.
If you want to reverse the order of the characters in your original string ("ABC" ==> "CBA"), try this code:
public static String reverseString(final String original) {
StringBuffer reverse = new StringBuffer();
for (int i = original.length() - 1 ; i >= 0 ; i-- )
reverse.append(original.charAt(i));
return reverse.toString();
}
If you want to replace "A" with "Z", "B" with "Y" and so on ("ABC" ==> "ZYX") try this code:
public static String reverseCharacters(final String original) {
final int UPPERCASE_A = 'A';
final int UPPERCASE_Z = 'Z';
final int LOWERCASE_A = 'a';
final int LOWERCASE_Z = 'z';
StringBuffer reverse = new StringBuffer();
char character = ' ';
for ( int i = original.length() - 1 ; i >= 0 ; i-- ) {
int charInt = original.charAt(i);
if (Character.isUpperCase(original.charAt(i)) {
reverse.append((char)(UPPERCASE_Z - charInt + UPPERCASE_A));
} else if (Character.isUpperCase(original.charAt(i))) {
reverse.append((char)(LOWERCASE_Z - charInt + LOWERCASE_A);
} else {
reverse.append(original.charAt(i));
}
}
return reverse.toString();
}