Converting text into l33t speak
For the sake of efficiency, I suggest you use a StringBuilder. The problem here is that String.replace will have to copy a this string applying the character replacement several times. With a StringBuilder you can apply those character replacements in a single pass over the input string. I had this in mind:

public static String to13375p34k(String word) {
    StringBuilder sb = new StringBuilder(word);

    for (int i = 0; i &lt; sb.length(); ++i) {
        char currentCharacter = sb.charAt(i);

        switch (currentCharacter) {
            case 'o':
                sb.setCharAt(i, '0');
                break;

            case 'l':
                sb.setCharAt(i, '1');
                break;

            case 'e':
                sb.setCharAt(i, '3');
                break;

            case 'a':
                sb.setCharAt(i, '4');
                break;

            case 't':
                sb.setCharAt(i, '7');
                break;
        }
    }

    if (sb.charAt(sb.length() - 1) == 's') {
        sb.setCharAt(sb.length() - 1, 'Z');
    }

    return sb.toString();
}