Hola gente!! bueno pues esta vez estoy haciendo un programa donde el usuario ingrese una cantidad, y el programa se la devuelva escrita en letra....
Esto es lo que llevo, solo lo estoy calando con las unidades, pero me gustaria saber porque al ingresar un numero, ya sea el 1, el 2, el 3 etc. m dice error

.
Bueno aqui esta el programa:
import java.io.*;
public class NumToLet
{
public static void main (String[] args)
{
String sNumeros;
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.print("Dame un numero: ");
sNumeros = stdin.readLine();
int iIndex = 0;
int iMedida = 0;
int iNum = 0;
String sCantidad = "";
while( iIndex < sNumeros.length() )
{
//Unidades
iMedida = ((sNumeros.length() - iIndex) - 1);
iNum = Integer.parseInt (sNumeros.substring (iIndex, iIndex + 1));
if (iMedida == 1)
{
if (iNum == 1)
{
sCantidad = sCantidad + "UNO";
}
else if (iNum == 2)
{
sCantidad = sCantidad + "DOS";
}
else if (iNum == 3)
{
sCantidad =sCantidad + "TRES";
}
}
}
System.out.println(" Tu cifra es: " + sCantidad);
stdin.close();
}
catch (Exception e)
{
System.out.println("Error");
}
}
}
Weno espero m puedan ayudar, de antemano gracias