[CODIFICAÇÂO]Programa substitui letras

Exercicio 2) Faça um programa que codifique uma mensagem digitada. Para realizar esta codificação, você deverá substituir algumas letras, conforme a tabela a seguir.

Caracter…Substituir por
A…Z
E…Y
O…W
T…K
M…B
N…D
P…F
U…V

Gostaria que - se possivel - alguem me indicasse que materia eu devo estudar para poder fazer esse exercicio!?

abraço!

Dê uma olhada no String.replaceAll.

[code]import java.util.ArrayList;
import java.util.Scanner;

public class Codificador {

/**
 * # *
 * 
 * @Alkamavo "Comedor de Java" #
 */
public static void main(String[] args) {

	// tabela de Codificação

	// Caracter....Substituir por

	/*
	 * # A........................Z # E.........................Y #
	 * O........................W # T.........................K #
	 * M.........................B # N.........................D #
	 * P.........................F # U.........................V
	 */

	Scanner in = new Scanner(System.in);
	String Cod = "AEOTMNPU".toUpperCase();
	String input = in.nextLine().toUpperCase();

	char[] codigos = Cod.toCharArray();
	char[] xptzebra = input.toCharArray();
	char[] previous = input.toCharArray();
	int contador = 0;

	while (contador < xptzebra.length) {
		if (xptzebra[contador] == codigos[0]) {
			xptzebra[contador] = 'Z';

		} else if (xptzebra[contador] == codigos[1]) {
			xptzebra[contador] = 'Y';

		}
		if (xptzebra[contador] == codigos[2]) {
			xptzebra[contador] = 'W';

		} else if (xptzebra[contador] == codigos[3]) {
			xptzebra[contador] = 'K';

		}
		if (xptzebra[contador] == codigos[4]) {
			xptzebra[contador] = 'B';

		} else if (xptzebra[contador] == codigos[5]) {
			xptzebra[contador] = 'D';

		}
		if (xptzebra[contador] == codigos[6]) {
			xptzebra[contador] = 'F';

		} else if (xptzebra[contador] == codigos[7]) {
			xptzebra[contador] = 'V';

		}
		contador++;
	}
	System.out.println("---> CONVERSÕES <---");
	System.out.println();
	for (int j = 0; j < xptzebra.length; j++) {
		System.out.println(previous[j] + " -----> " + xptzebra[j]);
		System.out.println();
	}
	System.out.println("---> Mensagem Final <---");
	System.out.println();
	{
		String N_codificado = null;
		String Codificado = null;
		System.out.println("Não codificado : "
				+ N_codificado.valueOf(previous));
		System.out.println();
		System.out.println("Codificado : " + Codificado.valueOf(xptzebra));
	}

}

}[/code]