Fiz um metodo para fixar uma posição do vetor e depois ir percorrendo o vetor e mostrando as combinações das letras, porem ele nao mostra todas.
Me ajudem a ver o que preciso corrigir.
Ps: Não é exercicio de faculdade nao. Estava brincando em um joguinho na internet e este joguinho era parecido com anagrama. Aí resolvi tentar fazer, mas nao saiu como eu queria.
public class java {
/**
* Este metodo recebe o vetor contendo a palavra e mostra para o usuario
* todas as possibilidades de anagrama com esta palavra.
*
*/
private static void Calcula_Anagrama(char vetor[]) {
int i = 0, contador = 0;
System.out.println(" " + "i" + " - " + "c : ");
do {
for (i = 0; i <= vetor.length - 1; i++) {
// troca
Troca_Posicao(vetor, i, contador);
System.out.print("TROCA: " + i + " - " + contador + " : ");
Mostra(vetor);
// destroca
Troca_Posicao(vetor, i, contador);
// System.out.print("DESTROCA: " + i + " - " + contador + " : ");
// Mostra(vetor);
}// for
contador++;
} while (contador <= (vetor.length - 1));
}// fim metodo Calcula_Anagrama()
/**
* Este metodo efetua a troca das posições desejadas
*
*/
private static void Troca_Posicao(char[] vetor, int i, int contador) {
char aux;
aux = vetor[contador];
vetor[contador] = vetor[i];
vetor[i] = aux;
}// fim metodo Troca_Posicao()
/**
* Este metodo mostra a palavra. A palavra é armazenada em um vetor para
* ficar mais facil o manuseio
*
*/
private static void Mostra(char[] vetor) {
for (int i = 0; i < vetor.length; i++) {
System.out.print(vetor[i] + " ");
}// for
System.out.println("");
}// fim metodo Mostra()
public static void main(String args[]) {
// 'C','A','S','A'
// 'A', 'B', 'R', 'I', 'L'
// 'T','E',' ','A','M','O'
// 'C','A','S','E'
// 'A','M','A','R','E','L','O'
// 'P','R','E','F','E','I','T','U','R','A'
char vetor[] = { 'C','A','S','E' };
Calcula_Anagrama(vetor);
}
}