Olá pessoal, meu problema é o seguite: como eu faço para pegar a próxima letra do alfabeto de uma palavra
Ex:
Palavra: java
Retorno: kbxb
Olá pessoal, meu problema é o seguite: como eu faço para pegar a próxima letra do alfabeto de uma palavra
Ex:
Palavra: java
Retorno: kbxb
Pega o valor ascii do item e adiciona 1
da uma olhada na tabela:
Boa tarde.
Meio com pressa mas algo interessante e a partir daqui acredito que possa usar um pouco de lógica.
Imprime o alfabeto baseado na tabela ASCII.
for(int i=65; i<91; i++){
System.out.print((char) i+"- ");
}
Também pode dar uma olhadinha na classe java.lang.Character ok?
Abraços.
Fiz um aqui rapinho com array de Char
// palava que vc quer converter
String s = "java";
String alfabeto = "abcdefghijklmnopqrstuvwxyz";
// cria um vetor de array com todos os caracteres
char[] arrayAlfabeto = alfabeto.toCharArray();
// cria um vetor de array com todos os caracteres
char[] array = s.toCharArray();
// percorre o array , em cada vez ele percore o vetor albabeto ate
// achar, quando acha sai
// e o indice mais um equivale ao proximo digito
for (int i = 0, j = 0; i < array.length; ++i) {
for (j = 0; j < arrayAlfabeto.length; ++j)
if (array[i] == arrayAlfabeto[j])
break;
System.out.println(alfabeto.charAt(j + 1));
Não tratei as exceções, nem quando o char e z , mais a ideia é essa, da para melhorar…flw
Valeu pela ajuda, consegui fazer da forma que vocês passaram, a lógica não ficou lá essas coisas mas está funcionando:
public String Descriptografar() {
String resul="";
int ascii=0;
for(int i=0; i<crip.length(); i++){
ascii= (crip.charAt(i))+1;
if(ascii==123)
resul+= (char)97;
else{
if(ascii==91){
resul+= (char)65;
}else{
resul+= (char)ascii;
}
}
}
return resul;
}