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.
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.
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'.
Muchisimas gracias ivancea. Me has ayudado muchisimo, te agradezco tu respuesta ^^
Si lo que quieres es que sea un entero en vez de caracter, hazle un parseInt a cada letra que cambies. saludos! :D