// Convertir un nUmero de 2 dIgitos a letra class Examen_1 { public static void main(String RAFA[]) { Convierte CONV = new Convierte(); CONV.Inicia(78); } } class Convierte { String CadenaTotal = ""; void Inicia(int N) { int Decenas, Unidades; boolean flag = false; // flag es para detectar el "dieci" y el "veinti" Decenas = N/10 > 0 ? N/10 : 0; Unidades = N%10 > 0 ? N%10 : 0; if (Decenas > 0) flag = Conv_Decenas(Decenas, Unidades); if (Unidades > 0 && !flag) Conv_Unidades(Decenas, Unidades); } boolean Conv_Decenas(int Decenas, int Unidades) { String Cadena = ""; int x; boolean flag = false; switch (Decenas) { case 1: if (Unidades > 0 && Unidades < 6) {} // Que no haga nada else if (Unidades != 0) { Cadena = "dieci"; flag = true; } else Cadena = "diez";break; case 2: if (Unidades != 0) { Cadena = "veinti"; flag = true; } else Cadena = "veinte"; break; case 3: Cadena = "treinta"; break; case 4: Cadena = "cuarenta"; break; case 5: Cadena = "cincuenta"; break; case 6: Cadena = "sesenta"; break; case 7: Cadena = "setenta"; break; case 8: Cadena = "ochenta"; break; case 9: Cadena = "noventa"; break; } CadenaTotal = Cadena; if (Unidades != 0 && Decenas > 2) CadenaTotal += " y "; if (flag) Conv_Unidades(0, Unidades); return flag; } void Conv_Unidades(int Decenas, int Unidades) { String Cadena = ""; if (Decenas==1) { switch(Unidades) { case 1: Cadena = "once"; break; case 2: Cadena = "doce"; break; case 3: Cadena = "trece"; break; case 4: Cadena = "catorce"; break; case 5: Cadena = "quince"; break; } } else switch(Unidades) { case 1: Cadena = "uno"; break; case 2: Cadena = "dos"; break; case 3: Cadena = "tres"; break; case 4: Cadena = "cuatro"; break; case 5: Cadena = "cinco"; break; case 6: Cadena = "seis"; break; case 7: Cadena = "siete"; break; case 8: Cadena = "ocho"; break; case 9: Cadena = "nueve"; break; } System.out.println(CadenaTotal + Cadena); } }