necesito ayuda urgente en un programa¡¡¡¡¡

Cesar
08 de Marzo del 2005
Hola, necesito en insertan un numero a un programa y que este pueda expresarlo en palabras, no se cual sela instruccion adecuada, espero que puedan ayudarme, de antemano les doy las gracias.

dibu
08 de Marzo del 2005
Hazlo con un swich, así:

switch(num){
case 1: System.out.println("Uno");
break;
case 2: System.out.println("Dos");
break;
//Y así sucesivamente para los números que quieras
}

Asilvestrao
08 de Marzo del 2005
Bueno, se me ha ocurrido una posible solución.

Funciona de 1 a 999999.

public void calculaNombreNumero(int num)
{
String numS = String.valueOf(num);

switch(numS.length())
{
case 1: System.out.println("El numero " + num + " es " + unidades(Integer.parseInt(numS.substring(0,1))));break;
case 2: System.out.println("El numero " + num + " es " + decenas(Integer.parseInt(numS.substring(0,1)),Integer.parseInt(numS.substring(1,2))));break;
case 3: System.out.println("El numero " + num + " es " + centenas(Integer.parseInt(numS.substring(0,1)),Integer.parseInt(numS.substring(1,2)),Integer.parseInt(numS.substring(2,3))));break;
case 4: System.out.println("El numero " + num + " es " + millares(Integer.parseInt(numS.substring(0,1)),Integer.parseInt(numS.substring(1,2)),Integer.parseInt(numS.substring(2,3)),Integer.parseInt(numS.substring(3,4))));break;
case 5: System.out.println("El numero " + num + " es " + decenasMillar(Integer.parseInt(numS.substring(0,1)),Integer.parseInt(numS.substring(1,2)),Integer.parseInt(numS.substring(2,3)),Integer.parseInt(numS.substring(3,4)),Integer.parseInt(numS.substring(4,5))));break;
case 6: System.out.println("El numero " + num + " es " + centenasMillar(Integer.parseInt(numS.substring(0,1)),Integer.parseInt(numS.substring(1,2)),Integer.parseInt(numS.substring(2,3)),Integer.parseInt(numS.substring(3,4)),Integer.parseInt(numS.substring(4,5)),Integer.parseInt(numS.substring(5,6))));break;
}

}

public String unidades(int num)
{
switch(num)
{
case 1 : return "uno";
case 2 : return "dos";
case 3 : return "tres";
case 4 : return "cuatro";
case 5 : return "cinco";
case 6 : return "seis";
case 7 : return "siete";
case 8 : return "ocho";
case 9 : return "nueve";
}
return "";
}

public String enDecenas(int uni)
{
switch(uni)
{
case 1 : return "once";
case 2 : return "doce";
case 3 : return "trece";
case 4 : return "catorce";
case 5 : return "quince";
case 6 : return "dieziseis";
case 7 : return "diezisiete";
case 8 : return "dieziocho";
case 9 : return "diezinueve";
}
return "diez";
}

public String decenas(int dec, int uni)
{
switch(dec)
{
case 1 : return enDecenas(uni);
case 2 : if(uni == 0) return "veinte"; else return "veinti"+unidades(uni);
case 3 : if(uni == 0) return "treinta"; else return "treinta y "+unidades(uni);
case 4 : if(uni == 0) return "cuarenta"; else return "cuarenta y "+unidades(uni);
case 5 : if(uni == 0) return "cincuenta"; else return "cincuenta y "+unidades(uni);
case 6 : if(uni == 0) return "sesenta"; else return "sesenta y "+unidades(uni);
case 7 : if(uni == 0) return "setenta"; else return "setenta y "+unidades(uni);
case 8 : if(uni == 0) return "ochenta"; else return "ochenta y "+unidades(uni);
case 9 : if(uni == 0) return "noventa"; else return "noventa y "+unidades(uni);
}
return unidades(uni);
}

public String centenas(int cen, int dec, int uni)
{
switch(cen)
{
case 1 : if((dec == 0) && (uni == 0)) return "cien"; else return "ciento " + decenas(dec,uni);
case 2 : return "doscientos "+decenas(dec,uni);
case 3 : return "trescientos "+decenas(dec,uni);
case 4 : return "cuatrocientos "+decenas(dec,uni);
case 5 : return "quinientos "+decenas(dec,uni);
case 6 : return "seiscientos "+decenas(dec,uni);
case 7 : return "setecientos "+decenas(dec,uni);
case 8 : return "ochocientos "+decenas(dec,uni);
case 9 : return "novecientos "+decenas(dec,uni);
}
return decenas(dec,uni);
}

public String millares(int mill,int cen, int dec, int uni)
{
switch(mill)
{
case 1 : return "mil " + centenas(cen,dec,uni);
case 2 : return "dosmil "+centenas(cen,dec,uni);
case 3 : return "tresmil "+centenas(cen,dec,uni);
case 4 : return "cuatromil "+centenas(cen,dec,uni);
case 5 : return "cincomil "+centenas(cen,dec,uni);
case 6 : return "seismil "+centenas(cen,dec,uni);
case 7 : return "sietemil "+centenas(cen,dec,uni);
case 8 : return "ochomil "+centenas(cen,dec,uni);
case 9 : return "nuevemil "+centenas(cen,dec,uni);
}
return centenas(cen,dec,uni);
}

public String decenasMillar(int decMill,int mill,int cen, int dec, int uni)
{
if(decMill != 0)
return decenas(decMill,mill) +"mil " + centenas(cen,dec,uni);

return millares(mill,cen,dec,uni);
}

public String centenasMillar(int cenMill,int decMill,int mill,int cen, int dec, int uni)
{
if(cenMill != 0)
return centenas(cenMill,decMill,mill) +"mil " + centenas(cen,dec,uni);

return decenasMillar(decMill,mill,cen,dec,uni);
}

Asilvestrao
08 de Marzo del 2005
No me ha quedado muy bonito, pero puedes copiarlo en un editor de codigo y verlo mas claro.

Espero que te sirva de ayuda, es lo primero que se me ha ocurrido.

Un saludo