elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  al ingresar un numero como puedo hacer para que el mensaje sea en letras
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: al ingresar un numero como puedo hacer para que el mensaje sea en letras  (Leído 3,775 veces)
fyn

Desconectado Desconectado

Mensajes: 2


Ver Perfil
al ingresar un numero como puedo hacer para que el mensaje sea en letras
« en: 1 Mayo 2010, 17:43 pm »

como realizar el ejercicio en java que al ingresar un numero de 0 a 99.999, el mensaje sea en letras

ejemplo:
 numero ingresado= 99
 mensaje el numero es= noventa y nueve


En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: al ingresar un numero como puedo hacer para que el mensaje sea en letras
« Respuesta #1 en: 1 Mayo 2010, 19:42 pm »

Amigo necesitas analizar sintacticamente las expresiones.
Con ello repercute expresiones regulares y tal, me explico:

Detectar numero de cifras (supongamos 2)
la primera será noventa, ochenta, setenta...
la segunda será los numeros convencionales, osea uno, dos, se cojen las dos string y se apone una y, quedando
Noventa y Nueve, en el caso de 15, 16, 17... se crea eespecificamente para estos y ya esta.

Esa seria la idea logica.

Saludos


En línea

sapito169


Desconectado Desconectado

Mensajes: 606



Ver Perfil
Re: al ingresar un numero como puedo hacer para que el mensaje sea en letras
« Respuesta #2 en: 1 Mayo 2010, 20:51 pm »

este es un problema dificil
la recomendación que te hago es que no usas operaciones matemáticas solo trabaja el numero como cadena
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: al ingresar un numero como puedo hacer para que el mensaje sea en letras
« Respuesta #3 en: 2 Mayo 2010, 05:50 am »

Tal vez pueda ayudarte con una parte del código... en unos 10 minutos a ver que hago
« Última modificación: 2 Mayo 2010, 05:53 am por Darhius » En línea

abc
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: al ingresar un numero como puedo hacer para que el mensaje sea en letras
« Respuesta #4 en: 2 Mayo 2010, 05:51 am »

Hola, yo lo hariá algo así

Código
  1. import java.util.Scanner;
  2.  
  3. public class NumberToLetter {
  4.  
  5. private int num; // Almacena el número digitado por el usuario
  6. private int temp; // Almacena cocientes y residuos
  7. private int dM; // Decenas de mil
  8. private int uM; // Unidades de mil
  9. private int cen; // Centenas
  10. private int dec; // Decenas
  11. private int uni; // Unidades
  12. private String letter;
  13.  
  14. public static void main(String args[]) {
  15. new NumberToLetter();
  16. }
  17.  
  18.    public NumberToLetter() {
  19.     Scanner entrada = new  Scanner( System.in );
  20.     System.out.print( "Digite un número entero de 5 dígitos: " );
  21.     num = entrada.nextInt();
  22.     letter = new String();
  23.  
  24. if(num>10&&num<16)
  25. letter = specialCases(num);
  26.  
  27.     else if( num <= 99999) {
  28.     dM = num / 10000;
  29.  
  30.     temp = num % 10000;
  31.     uM = temp / 1000;
  32.  
  33.     temp = temp % 1000;
  34.     cen = temp / 100;
  35.     letter += centenesToLetter(cen)+" ";
  36.  
  37.     temp = temp % 100;
  38.     dec = temp / 10;
  39.     letter += desenesToLetter(dec);
  40.  
  41.     temp = temp % 10;
  42.     uni = temp;
  43.     if(uni>0)
  44.     letter += " y " +unitatsToLetter(uni);
  45.     else
  46.     letter += unitatsToLetter(uni);
  47.     }
  48.     System.out.println(letter);
  49.     System.exit(0);
  50.    }
  51.  
  52.    private String unitatsToLetter(int num){
  53. letter = new String();
  54.     if(num==1)
  55.     letter="Uno";
  56.     if(num==2)
  57.     letter="Dos";
  58.     if(num==3)
  59.     letter="Tres";
  60.     if(num==4)
  61.     letter="Cuatro";
  62.     if(num==5)
  63.     letter="Cinco";
  64.     if(num==6)
  65.     letter="Seis";
  66.     if(num==7)
  67.     letter="Siete";
  68.     if(num==8)
  69.     letter="Ocho";
  70.     if(num==9)
  71.     letter="Nueve";    
  72.  
  73.     return letter;
  74.    }
  75.  
  76.    private String desenesToLetter(int num) {
  77.     letter = new String();
  78.     if(num==1)
  79.     letter="Diez";
  80.     if(num==2)
  81.     letter="Veinte";
  82.     if(num==3)
  83.     letter="Treinta";
  84.     if(num==4)
  85.     letter="Cuarenta";
  86.     if(num==5)
  87.     letter="Cincuenta";
  88.     if(num==6)
  89.     letter="Sesenta";
  90.     if(num==7)
  91.     letter="Setenta";
  92.     if(num==8)
  93.     letter="Ochenta";
  94.     if(num==9)
  95.     letter="Noventa";    
  96.  
  97.     return letter;
  98.    }
  99.  
  100.    private String centenesToLetter(int num) {
  101.     letter = new String();  
  102.     if(num==0)
  103.     return "";
  104.     else if(num==1)
  105.     letter="Ciento";//
  106.     else if(num==5)
  107.     letter="Quinientos";//
  108.     else if(num==7)
  109.     letter="Setecientos";//
  110.     else if(num==9)
  111.     letter="Novenientos"; //
  112.     else {
  113.     letter=unitatsToLetter(num)+"cientos";
  114.     }
  115.  
  116.     return letter;
  117.    }
  118.  
  119.    private String specialCases(int num){
  120.     letter = new String();  
  121.     if(num==11)
  122.     letter="Once";
  123.     else if(num==12)
  124.     letter="Doce";
  125.     else if(num==13)
  126.     letter="Trece";
  127.     else if(num==14)
  128.     letter="Catorce";
  129.     else if(num==15)
  130.     letter="Quince";
  131.  
  132.     return letter;    
  133.    }
  134.  
  135. }
  136.  

Lo hice algo rápido así que tiene algunos defectos  :xD, pero tal vez pueda ayudarte.

Un Saludo!
« Última modificación: 2 Mayo 2010, 05:54 am por Darhius » En línea

abc
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: al ingresar un numero como puedo hacer para que el mensaje sea en letras
« Respuesta #5 en: 2 Mayo 2010, 10:45 am »

Es mas o menos como yo habia sugerido.

Saludos
En línea

Leyer


Desconectado Desconectado

Mensajes: 782


leyer@elhacker.net


Ver Perfil WWW
Re: al ingresar un numero como puedo hacer para que el mensaje sea en letras
« Respuesta #6 en: 2 Mayo 2010, 21:31 pm »

No le hagas la terea :xD con lo que se dijo anteriormente es suficiente
« Última modificación: 2 Mayo 2010, 21:34 pm por LEYER » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines