Autor
|
Tema: programa java (Leído 2,642 veces)
|
javieer
Desconectado
Mensajes: 14
|
Hola a todos,
estoy completando un programa en el que a traves de una funcion " static char[] encriptacionpalabras (int tamañopalabra) {} , al introducir una palabra se devuelve esta con la misma longitud pero con asteriscos, tengo que completar el codigo de la funcion. alguna pista? deberia empezar con un for?
Gracias.
|
|
|
En línea
|
|
|
|
Serapis
|
Hay varias formas de acometerlo...
- Una muy sencilla es conociendo la cantidad de caracteres que tiene la palabra, crear otra del mismo tamaño formado solo por asteriscos. La palabra original no se ve así alterada. - Si el tamaño de las palabras está limitado a un máximo (pongamos 16-20 caracteres), por velocidad puede crearse un array cuyo contenido sean precisamente strings de 1,2,3,4...hasta 16 asteriscos, cuando se reciba la palabra, se devuelve el string contenido en la posición cuyo índice coincide con el tamaño de caracteres de la palabra recibida. La palabra original no se ve así alterada. - Otro modo... inicias un bucle y remplazas cada carácter aparecido por un asterisco. La palabra original si queda alterada en este otro caso.
...y ahora es tu turno de escribir código...
|
|
|
En línea
|
|
|
|
srWhiteSkull
|
Yo te recomiendo que añadas otro parámetro y que lo denomines clave, de esa forma podrás usar una clave para cifrar las palabras o textos y hacer más seguro, según el algortimo, la cifrado.
Luego te pongo un ejmeplo que ahora me tengo que ir.
|
|
|
En línea
|
|
|
|
srWhiteSkull
|
... int i=0; char cClave; for (char caracter:texto.toCharArray()){ cClave = clave.charAt((i++)% clave.length()); textoEncriptado+=(""+(char)(caracter+cClave)); } return textoEncriptado; } int i=0; char cClave; for (char caracter:textoEncriptado.toCharArray()){ cClave = clave.charAt((i++)% clave.length()); texto+=(""+(char)(caracter-cClave)); } return texto; } public static void main (String[] args ) { String textoEncriptado =encriptaTexto ("1234", "Hola mundo"); System. out. println(textoEncriptado ); System. out. println(desencriptaTexto ("1234",textoEncriptado )); } ...
Resultado: y¡Q¨¢¡ Hola mundo
|
|
|
En línea
|
|
|
|
Serapis
|
srWhiteSkull, nota que no pide cifrar nada, tan solo 'tapar' la clave con asteriscos, lo cual es trivial. ...al introducir una palabra se devuelve esta con la misma longitud pero con asteriscos...
|
|
|
En línea
|
|
|
|
javieer
Desconectado
Mensajes: 14
|
gracias a todos por la respuesta, ya logré hacer que convirtiera el texto a asteriscos aunque ahora me falta una funcion booleana que cuando aciertes una letra desaparezca el asterisco como lo puedo hacer¿
|
|
|
En línea
|
|
|
|
spcruzaley
Desconectado
Mensajes: 16
|
Que tal javieer No se como hiciste tu implementacion, pero aqui te dejo una propuesta que hice y que quiza puedas adaptar a tus necesidades. public class Pruebas { private char[] palabraEncriptada; public static void main (String[] args ) { Pruebas pruebas = new Pruebas("unapalabra"); pruebas.cifra(); pruebas.log(); pruebas.validarLetra('n'); pruebas.log(); pruebas.validarLetra('a'); pruebas.log(); pruebas.validarLetra('r'); pruebas.log(); pruebas.validarLetra('l'); pruebas.log(); } public Pruebas (String palabra ) { this.palabra = palabra; } public void cifra() { char[] asteriscos = new char[palabra.length()]; this. palabraEncriptada = Arrays. copyOf(asteriscos, asteriscos. length); } public void validarLetra(char letra) { int posicion = this.palabra.indexOf(letra); if(posicion >= 0) { this.palabraEncriptada[posicion] = letra; } } public void log() { System. out. println(Arrays. toString(this. palabraEncriptada)); } }
Log de salida: [*, *, *, *, *, *, *, *, *, *] [*, n, *, *, *, *, *, *, *, *] [*, n, a, *, *, *, *, *, *, *] [*, n, a, *, *, *, *, *, r, *] [*, n, a, *, *, l, *, *, r, *]
Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
programa de Java
Java
|
belerofonte
|
1
|
2,956
|
17 Marzo 2005, 09:18 am
por Ambolius
|
|
|
Programa java
Java
|
JUSEMS
|
1
|
2,506
|
12 Junio 2005, 15:48 pm
por Ragnarok
|
|
|
programa java
Ejercicios
|
Hiras
|
3
|
7,367
|
4 Junio 2011, 05:32 am
por dakomt
|
|
|
pasar un programa de java.swit a java.io
Java
|
javier210186
|
1
|
2,821
|
17 Marzo 2013, 03:54 am
por javier210186
|
|
|
[JAVA] Programa irresoluble en java
Java
|
Unchained
|
7
|
3,932
|
6 Abril 2014, 02:40 am
por Unchained
|
|