EJERCICIOS RESUELTOS DE JAVA

|

"CONVERTIR DE NUMEROS A LETRA"

String numeroAletras (int numero)
{
/*06*/String unidades="uno dos tres cuatrocinco seis siete ocho nueve ";
/*10*/String diecis="once doce trece catorce quince dieciseis diesisietedieciocho diecinueve";
/*12*/String veintis="veintiuno veintidos veintitres veinticuatroveinticinco veintiseis veintisiete veintiocho veintinueve ";
/*09*/String decenas="diez veinte treinta cuarenta cincuentasesenta setenta ochenta noventa ";
/*13*/String centenas="cien doscientos trescientos cuatrocientosquinientos seiscientos setecientos ochocientos novescientos ";

String elnumero;
elnumero = String.valueOf(numero);
int largo = elnumero.length();
int uni;
int dec;
int die;
int vei;
int cen;
int cie;
String resultado=" ";

//Recibiendo Unidades
if(largo==1 && numero>0)
//Si la longitud del número ingresado es igual a uno y además si el nú--
//mero ingresado es mayor que cero, entonces...
{
uni=Integer.parseInt(elnumero.substring(largo-1,1));
String textuni=unidades.substring((uni-1)*6, (uni*6));
//Mostrando resultado: uno ... ...nueve
resultado=textuni;
//Si se ingresa cero(0) el sistema devuelve cero
}
else{
if (numero==0)
resultado="cero";}
//Recibiendo las Decenas
if(largo==2)
{
uni=Integer.parseInt(elnumero.substring(largo-1,2));
//Si el último número, es decir la unidad es igual a cero entonces mos--
//tramos sólo las decenas
if(uni==0)
{
dec=Integer.parseInt(elnumero.substring(largo-2,1));
String textdec=decenas.substring((dec-1)*9,(dec*9));
//Mostrando resultado: veinte ... ... noventa
resultado=textdec;
}
else
{
String textuni=unidades.substring((uni-1)*6, (uni*6));

dec=Integer.parseInt(elnumero.substring(largo-2,1));
String textdec=decenas.substring((dec-1)*9,(dec*9));
//Mostrando resultado: treinta y uno ... ... noventa y nueve
resultado=textdec+" y "+textuni;
//Si la decena empieza con 1
if (dec==1)
{
die=Integer.parseInt(elnumero.substring(largo-1,2));
String textdie=diecis.substring((die-1)*10, (die*10));
//Mostrando resultado: once ... ... diecinueve
resultado=textdie;
}
//Si la decena empieza con 2
if (dec==2)
{
vei=Integer.parseInt(elnumero.substring(largo-1,2));
String textvei=veintis.substring((vei-1)*12, (vei*12));
//Mostrando resultado: veintiuno ... ... veintinueve
resultado=textvei;
}

}
}

//Recibiendo las centenas
if(largo==3)
{
uni=Integer.parseInt(elnumero.substring(largo-1,3));
dec=Integer.parseInt(elnumero.substring(largo-2,2));
cen=Integer.parseInt(elnumero.substring(largo-3,1));

if(uni==0 && dec==0)
{
//cen=Integer.parseInt(elnumero.substring(largo-3,1));
String textcen=centenas.substring((cen-1)*13,(cen*13));
//Mostrando resultado: cien ... ... novecientos
resultado=textcen;
}
else
{
String textuni=unidades.substring((uni-1)*6, (uni*6));
cen=Integer.parseInt(elnumero.substring(largo -3,1));

if (dec>2 && cen==1)
{
String textdec=decenas.substring((dec-1)*9,(dec*9));
//Mostrando resultado: ciento treinta y uno ... ... ciento no---
//venta y nueve
resultado="ciento "+textdec+" y "+textuni;
}
else
{
//Si la decena empieza con 0
if (dec==0 && cen==1)
{
resultado="ciento "+textuni;
}
else
{
if(dec==0 && cen>1)
{
cen=Integer.parseInt(elnumero.substring(largo -3,1));
String textcen=centenas.substring((cen-1)*13,(cen*13));
resultado=textcen+textuni;
}
}
//Si la decena empieza con 1
if (dec==1)
{
die=Integer.parseInt(elnumero.substring(largo-1,3));
String textdie=diecis.substring((die-1)*10, (die*10));
//Mostrando resultado: once ... ... diecinueve
resultado="ciento "+textdie;
}
//Si la decena empieza con 2
if (dec==2)
{
vei=Integer.parseInt(elnumero.substring(largo-1,3));
String textvei=veintis.substring((vei-1)*12, (vei*12));
//Mostrando resultado: veintiuno ... ... veintinueve
resultado="ciento "+textvei;
}
}
}
}

1 comentarios:

Los Dorados del Tolima dijo...

GRACIAS, esta bien explicado

tienes ejercicios resueltos en yava, me servirian mucho.

RRO.

Publicar un comentario