• Sábado 20 de Abril de 2024, 02:26

Autor Tema:  Help Me! Programa Para Convertir Numeros A Letras  (Leído 4904 veces)

stormshadow

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Help Me! Programa Para Convertir Numeros A Letras
« en: Sábado 30 de Junio de 2007, 22:05 »
0
Hola gente!! bueno pues esta vez estoy haciendo un programa donde el usuario ingrese una cantidad, y el programa se la devuelva escrita en letra....
Esto es lo que llevo, solo lo estoy calando con las unidades, pero me gustaria saber porque al ingresar un numero, ya sea el 1, el 2, el 3 etc. m dice error  :( .
Bueno aqui esta el programa:
Código: Text
  1.  
  2. import java.io.*;
  3.  
  4. public class NumToLet
  5. {
  6.   public static void main (String[] args)
  7.   {
  8.     String sNumeros;
  9.     BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
  10.  
  11.     try
  12.     {
  13.       System.out.print("Dame un numero: ");      
  14.       sNumeros = stdin.readLine();
  15.      
  16.       int iIndex = 0;
  17.       int iMedida = 0;
  18.       int iNum = 0;
  19.       String sCantidad = "";
  20.      
  21.       while( iIndex < sNumeros.length() )
  22.       {  
  23.         //Unidades
  24.         iMedida = ((sNumeros.length() - iIndex) - 1);
  25.         iNum = Integer.parseInt (sNumeros.substring (iIndex, iIndex + 1));
  26.         if (iMedida == 1)
  27.         {
  28.           if (iNum == 1)
  29.           {
  30.             sCantidad = sCantidad + "UNO";
  31.           }
  32.           else if (iNum == 2)
  33.           {
  34.             sCantidad = sCantidad + "DOS";
  35.           }
  36.           else if (iNum == 3)
  37.           {
  38.             sCantidad =sCantidad + "TRES";
  39.           }
  40.         }
  41.          
  42.        
  43.       }
  44.  
  45.       System.out.println(" Tu cifra es: " + sCantidad);
  46.       stdin.close();    
  47.  
  48.     }
  49.     catch (Exception e)
  50.     {
  51.       System.out.println("Error");
  52.     }
  53.   }
  54.  
  55. }
  56.  
  57.  
Weno espero m puedan ayudar, de antemano gracias

jpaler

  • Miembro MUY activo
  • ***
  • Mensajes: 479
    • Ver Perfil
Re: Help Me! Programa Para Convertir Numeros A Letras
« Respuesta #1 en: Domingo 1 de Julio de 2007, 00:14 »
0
bueno... una duda:
¿lo estas haciendo x el reto de hacerlo? o ¿x ignorar q ya existe?

por si algo... te cuento q se llama "rutina del monto escrito" y es muy
utilizado en software de contabilidad para llenar el campito ese de
los cheques...

Salu2 !!!

stormshadow

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Help Me! Programa Para Convertir Numeros A Letras
« Respuesta #2 en: Domingo 1 de Julio de 2007, 05:00 »
0
pues no es tanto reto, es un trabajo para la universidad, y no me gusta piratear cosas, asi que pss yo solo pido un poquito de ayuda para ver en que estoy fallando jejeje, espero me puedan ayudar please!!  :P

kaidok

  • Miembro activo
  • **
  • Mensajes: 33
    • Ver Perfil
Re: Help Me! Programa Para Convertir Numeros A Letras
« Respuesta #3 en: Domingo 1 de Julio de 2007, 11:41 »
0
Pon el error que te da, por que a simple vista es muy complicado sacarlo...

stormshadow

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Help Me! Programa Para Convertir Numeros A Letras
« Respuesta #4 en: Domingo 1 de Julio de 2007, 19:52 »
0
es que en si no hay error!, o sea compila chido y todo, lo ejecuto y me pide la cifra, al introducir yo el numero m dice Error, que es lo que tengo en el catch, porfavor ayuda  :(

Henrypunk

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Help Me! Programa Para Convertir Numeros A Letras
« Respuesta #5 en: Lunes 2 de Julio de 2007, 18:42 »
0
Bueno Supongo que la exepcion que atrapa tu  programa es por que el while nunca acaba bueno creo que asi si funcionaria tu programa :
Código: Text
  1. import java.io.*;
  2.  
  3. public class NumToLet
  4. {
  5.   public static void main (String[] args)
  6.   {
  7.     String sNumeros;
  8.     BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
  9.  
  10.     try
  11.     {
  12.       System.out.print("Dame un numero: ");      
  13.       sNumeros = stdin.readLine();
  14.      
  15.       int iIndex = 0;
  16.       int iMedida = 0;
  17.       int iNum = 0;
  18.       String sCantidad = "";
  19.  
  20.    
  21.         iMedida = ((sNumeros.length() - iIndex) - 1);
  22.         iNum = Integer.parseInt (sNumeros.substring (iIndex, iIndex + 1));
  23.         if (iMedida == 1)
  24.         {
  25.           if (iNum == 1)
  26.           {
  27.             sCantidad = sCantidad + "UNO";
  28.           }
  29.           else if (iNum == 2)
  30.           {
  31.             sCantidad = sCantidad + "DOS";
  32.           }
  33.           else if (iNum == 3)
  34.           {
  35.             sCantidad =sCantidad + "TRES";
  36.           }
  37.         }
  38.    
  39.       System.out.println(" Tu cifra es: " + sCantidad);
  40.       stdin.close();    
  41.  
  42.     }
  43.     catch (Exception e)
  44.     {
  45.       System.out.println("Error");
  46.     }
  47.   }
  48.  
  49. }
  50.  
  51.  

En este caso solo funcionaria si ingresas un numero de dos cifras menor que 40, y el numero que de mostraria seria el de las decenas. No entiendo porque utilizas
Código: Text
  1.  
  2.         iMedida = ((sNumeros.length() - iIndex) - 1);
  3.         iNum = Integer.parseInt (sNumeros.substring (iIndex, iIndex + 1));
  4.  
  5.  

supongo que debe ser parte de tu codigo completo bueno espero aberte ayudado :P

stormshadow

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Help Me! Programa Para Convertir Numeros A Letras
« Respuesta #6 en: Martes 3 de Julio de 2007, 20:10 »
0
Cita de: "Henrypunk"
No entiendo porque utilizas
Código: Text
  1.  
  2.         iMedida = ((sNumeros.length() - iIndex) - 1);
  3.         iNum = Integer.parseInt (sNumeros.substring (iIndex, iIndex + 1));
  4.  
  5.  
weno si m ayudaste jeje gracias, ahora ya m imprime tu difra es: pero no m aparece la letra jejejeje, y weno eso que m preguntas porque lo utilizo, la iMedida es para recorrer los vectores por ejemplo siempre recorre por 0 1 2 3 cada espacion, y esa opcion lo que hace es ver que hay pero alrevez, alli tu le indicas que dependiendo al numero ingresado lo recorra para ver que hay de el final hacia atras, por ejemplo 3 2 1 0, y ver que hay en el 0 despues en el 1 etc...