codificar texto String
Hola, estoy recien aprendiendo a programar en Java, y quisiera saber como codificar un texto, es decir, que cada letra(a-z) tenga su propio caracter o un string distinto (ej a=4, b=8, p=|>,etc), cosa que al ingresar un texto, apresca luego uno cn las letras reemplazadas.
intente usar el metodo texto.remplace(char old char,char new char) pero esot solo me lo permite cn un solo char y no con todas las letras del texto. cualquier consejo se agradece.
saludos!
- Inicie sesión o regístrese para enviar comentarios
Nadie te va a hacer la tarea
Aquí nadie hace la tarea de nadie, es mejor que expongas dudas muy concretas. sin embargo eso no quiere decir que no ta vayan a ayudar.
Checa la documentación de la clase String, encontrarás métodos como replace(), replaceAll(), charAt(), etc. existen muchos métodos que te pueden ayudar a hacer lo que necesitas.
Te puedo decir que con un ciclo for y un switch lo puedes hacer.
pequeño avance
Esto es lo que he podido hacer:
String texto1=io.pideUnTexto("Ingresa una frase para codificar a código 1337.");
texto1=texto1.toLowerCase();
int i;
char valor[];
valor=texto1.toCharArray();
for (i=0;i
pequeño avance
Esto es lo que he podido hacer:
String texto1=io.pideUnTexto("Ingresa una frase para codificar a código 1337.");
texto1=texto1.toLowerCase();
int i;
char valor[];
valor=texto1.toCharArray();
for (i=0;i
avance pequeño
lo que pude hacer usando toCharArray() y for, esque me devuelve los caracteres uno por uno del String, es decir me "deletrea" la frase, pero como puedo hacer para que esos caracteres me los muestre todos juntos, es definitiva me mostraria la misma frase pero cada letra seria un caracter especificado.
String texto1=io.pideUnTexto("ingresa tu texto");
int i;
char valor[];
valor=texto1.toCharArray();
for(i=0;i
switch, Override, extends, java.lang...
Cuando creas una clase implícitamente extiendes a
si no le dices a que extender.
( ).
Por ejemplo:
Es lo mismito que:
Esto hace que la clase ‘StringCoder’ herede todo lo que tiene Object, entre los métodos existe uno llamado
Puedes sobre escribir los métodos que heredas, teniendo en cuenta que deben de llamarse igual, recibir los mismos tipos y cantidad de parámetros y regresar el mismo tipo que el método original.
Esto esta súper padre porque te dota de mucha flexibilidad. Por ejemplo podemos hacer que la clase ‘StringCoder’ imprima ‘hola mundo’ cada que lo coloquemos dentro de un ‘java.lang.System.out.println(a)’:
Nota: Debes de checar que ‘java.lang.*’ también está por default en todas tus class [:)]
Bueno pues espero te ayude este pequeño ejemplo, regresas a comentarnos como te fue va :)
usa replaceAll
El
solo te reemplaza la primer ocurrencia, intenta usar
No es muy conveniente replaceAll
Para los fines que requiere no es muy conveniente usar el replaceAll, ya que tenemos el siguiente problema:
El resultado de lo anterior seria:
El error en la solución vendrá cuando quiera codificar el caracter "r", por que la codificación no será la correcta, creo que es mas conveniente la respuesta propuesta por rodrigo salado anaya
Cifrado César
Este «algoritmo de cifrado» es muy simple y también es muy fácil de implementar. Se le conoce como Cifrado César.
De acuerdo la descripción del Original Poster, en Java:
Y, por ejemplo:
Entrada
Salida
~~~