Hola, yo lo hariá algo así
import java.util.Scanner;
public class NumberToLetter {
private int num; // Almacena el número digitado por el usuario
private int temp; // Almacena cocientes y residuos
private int dM; // Decenas de mil
private int uM; // Unidades de mil
private int cen; // Centenas
private int dec; // Decenas
private int uni; // Unidades
public static void main
(String args
[]) { new NumberToLetter();
}
public NumberToLetter() {
Scanner entrada
= new Scanner
( System.
in ); System.
out.
print( "Digite un número entero de 5 dígitos: " ); num = entrada.nextInt();
if(num>10&&num<16)
letter = specialCases(num);
else if( num <= 99999) {
dM = num / 10000;
temp = num % 10000;
uM = temp / 1000;
temp = temp % 1000;
cen = temp / 100;
letter += centenesToLetter(cen)+" ";
temp = temp % 100;
dec = temp / 10;
letter += desenesToLetter(dec);
temp = temp % 10;
uni = temp;
if(uni>0)
letter += " y " +unitatsToLetter(uni);
else
letter += unitatsToLetter(uni);
}
}
private String unitatsToLetter
(int num
){ if(num==1)
letter="Uno";
if(num==2)
letter="Dos";
if(num==3)
letter="Tres";
if(num==4)
letter="Cuatro";
if(num==5)
letter="Cinco";
if(num==6)
letter="Seis";
if(num==7)
letter="Siete";
if(num==8)
letter="Ocho";
if(num==9)
letter="Nueve";
return letter;
}
private String desenesToLetter
(int num
) { if(num==1)
letter="Diez";
if(num==2)
letter="Veinte";
if(num==3)
letter="Treinta";
if(num==4)
letter="Cuarenta";
if(num==5)
letter="Cincuenta";
if(num==6)
letter="Sesenta";
if(num==7)
letter="Setenta";
if(num==8)
letter="Ochenta";
if(num==9)
letter="Noventa";
return letter;
}
private String centenesToLetter
(int num
) { if(num==0)
return "";
else if(num==1)
letter="Ciento";//
else if(num==5)
letter="Quinientos";//
else if(num==7)
letter="Setecientos";//
else if(num==9)
letter="Novenientos"; //
else {
letter=unitatsToLetter(num)+"cientos";
}
return letter;
}
private String specialCases
(int num
){ if(num==11)
letter="Once";
else if(num==12)
letter="Doce";
else if(num==13)
letter="Trece";
else if(num==14)
letter="Catorce";
else if(num==15)
letter="Quince";
return letter;
}
}
Lo hice algo rápido así que tiene algunos defectos
, pero tal vez pueda ayudarte.
Un Saludo!