Array de caracteres.
Bom dia tenho que declarar um array que inicialize com todos os caracteres do teclado, para que possa comparar com os caracteres que o usuario digite para que execute um if com cada caracter se não vou ter que digitar todos os caracteres posiveis.
Já fiz desta forma mais esta um horror.
[b]editado pelo moderador[/b]
public class Crip {
public static char recebe, devolve;
public static char senha;
public static char [] caracteres = new char[] { 'a', 'b', 'c', 'd', 'e', 'f', 'j', 'k', 'l','m', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'y',x', 'z' };// aqui esta o meu problema.
public static char getRecebe(char recebe) {
for (int op = 0; op < caracteres.length; op++) {
char compara;
compara = caracteres[op];
if (recebe == compara) {
int resposta;
resposta = op + 3;
recebe = caracteres[resposta];
break;
}// fim if
}// fim for
return recebe;
}// fim getRecebe
public static char getDevolve(char devolve) {
for (int op = 0; op < caracteres.length; op++) {
char compara;
compara = caracteres[op];
if (devolve == compara) {
int resposta;
resposta = op - 3;
devolve = caracteres[resposta];
break;
}// fim if
}// fim for
return devolve;
}// getDevolve
[color=red][/color][color=#444444][/color]Flavio Pio
Curtidas 0
Respostas
Vagner Planello
09/04/2009
A ideia é retornar o caracter + 3 ?
Se for, voce pode levar em consideracao que um char é um tipo numerico, somar 3 unidades a ele e retornar. Só vai ter que fazer alguma logica pra tratar os ultimos chars ('x', 'y', 'z') pra que ele retorne pro 'a', 'b', 'c' se for o caso
GOSTEI 0
Flavio Pio
09/04/2009
Enquanto isso blz mas não queria digitar todos os caracteres na mão queria uma forma de iniciar o array de forma que entenda letras, numeros e pontuação.
GOSTEI 0
Regis Fleck
09/04/2009
public static char [] caracteres = new char[]
{
'a', 'b', 'c',
'd', 'e', 'f',
'j', 'k', 'l',
'm', 'n', 'o',
'p', 'q', 'r',
's', 't', 'u',
'v', 'w', 'y',
x', 'z' }; // aqui esta o meu problema.
GOSTEI 0
Junhu
09/04/2009
Vc pode usar Expressão Regular !!!
GOSTEI 0
Carlos Heuberger
09/04/2009
[quote="vagnerpl"]A ideia é retornar o caracter + 3 ?
Se for, voce pode levar em consideracao que um char é um tipo numerico, somar 3 unidades a ele e retornar. Só vai ter que fazer alguma logica pra tratar os ultimos chars ('x', 'y', 'z') pra que ele retorne pro 'a', 'b', 'c' se for o caso
exemplo:
char ch;
...
char resposta = ch + 3; // ou ch - 3
if (resposta > 'z')
ch = ch - 'z' - 1 + 'a';// ajuste
char[] arr = new char['a'-'z'+1]; // ou 26
for (char ch = 'a'; ch <= 'z'; ch++)
arr[ch-'a'] = ch;
GOSTEI 0