Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: Wick3D en 8 Diciembre 2016, 20:17 PM

Título: [Java] Sustituir caracteres por números
Publicado por: Wick3D en 8 Diciembre 2016, 20:17 PM
Buenas a todos. Estaba desarrollando un programita super simple en java como trabajo de clase que consiste en que se introduzca una frase por teclado y te devuelva esa frase pero con las vocales sustituidas por números.

Código (java) [Seleccionar]
import javax.swing.*;

public class codificacion {

public static void main(String[] args) {

char letra;
String frase,frase2="";

frase=JOptionPane.showInputDialog("Introduce una frase:");

for (int j = 0; j < frase.length(); j++) {
letra = frase.charAt(j);

if (letra=='a') {
letra = 1;
}
if (letra=='e') {
letra = 2;
}
if (letra=='i') {
letra = 3;
}
if (letra=='o') {
letra = 4;
}
if (letra=='u') {
letra = 5;
}
else {
frase2 = frase2+letra;
}
}
System.out.println(frase2);
}

}


Todo va correcto, pero cuando me devuelve el resultado, lo que deberían aparecer como números aparecen como caracteres no reconocidos (el cuadradito en blanco).
¿Sabéis a que puede ser debido ésto?. Muchas gracias de antemano por cualquier respuesta.
Título: Re: [Java] Sustituir caracteres por números
Publicado por: ivancea96 en 8 Diciembre 2016, 22:35 PM
Pusiste letra = 1. Estás igualando letra a un número, es decir, a su valor en la codificación que sea.
A uncaracter, normalmente le asignarás otro caracter, es decir: letra = '1'

Y como detalle, quita el else del final, donde el if 'u', o no meterás los '5'.
Título: Re: [Java] Sustituir caracteres por números
Publicado por: Wick3D en 9 Diciembre 2016, 03:53 AM
Muchisimas gracias ivancea. Me has ayudado muchisimo, te agradezco tu respuesta ^^
Título: Re: [Java] Sustituir caracteres por números
Publicado por: Impnothing en 13 Diciembre 2016, 20:22 PM
Si lo que quieres es que sea un entero en vez de caracter, hazle un parseInt a cada letra que cambies. saludos! :D