sayurit:
Ola galera boa noite!!!
Estou com uma duvida ja li o forum de java mas não entendi muito bem!!!
Tenho que fazer um codificadoronde as vogais mantem a posicao os espacos e consoantes trocam entre si!!!
So que estou tendo muita dificuldade e sou iniciando java ag ja tentei com indexOf e com o charAt mas não entendi mt bem!!
Sera que alguem poderia me ajudar a entender melhor
To tentando desenvolver este codigo ag porem ta mt errado !!!
pois gostaria de percorrer uma String onde o usuario digitaria a frase e faria a comparação onde vogal mantem e as consoantes trocam de lugar uma pela outra
Ex: problemas
passa a ser
rpolbrmah
import java.io.*;
import java.util.*;
public class Codificar
{
public static void main(String[]args)
{
String nome;
int i;
Scanner entra = new Scanner(System.in);
System.out.print("Digite a Frase a ser codificada:");
nome = entra.next();
//Percorre a String
for(i=0; i <nome.length(); i++);
{
//aqui eu gostaria de fazer a comparacao
if(nome != 'a'||'e'||'i'||'o'||'u')
{
// oq for diferente trocar
}
}
System.out.println("Exibir a frase codificada:");
}
}
dexa eu ver se e intendi... quando a letra for uma "não vogal", você quer colocar uma outra letra no lugar, mas essa outra letra precisa ser alguma da palavra ou pode ser qualquer outra consoante?
digo isso por que o exemplo que você passou não me ficou muito claro (tem um r a mais e um h inexistente em "problemas").
se for qualquer consoante, você pode fazer um random para buscar um int de x a y onde x e y seriam os números da primeira e ultima letra na tabela asc, converte para um char e verifica se é vogal, se sim busca outro numero, senão substitui a atual consoante por outra...
se for outra consoante da mesma palavra que você quer, então eu te aconselharia a num loop apenas pegar o index das consoantes e guardar num array, depois ir selecionando aleatoriamente endereços do array (com random de 0 a ultima posição do array), e quando encontrar as duas posições diferentes, guardar a letra a ser substituida numa variavel auxiliar substituir a letra atual pela anterior, depois a ultima você põe no lugar da primeira.
se você fosse selecionando de duas em duas e e trocando entre elas, você teria problemas por exemplo com palavra com quantidade impar de consoantes (uma letra ficaria no mesmo lugar).
me diz se é esse mesmo o seu caso, o da segunda opção, caso sim depois com um tempinho eu volto e crio um código de exemplo aqui... caso você precise, e é claro, esse é só um algoritmo que pensei na hora, devem ter outros, de repente até melhores...