System.out.println("O número digitado foi: " +ext[num]);
… Se eu digito qualquer numero de 0 a 9 - o resultado sai OK (“tres” por exemplo), mas se eu digito numeros com mais de uma unidade (“12”) deveria retornar (“um, dois”), mas retorna erro:
“Digite um numero:
12
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 12
at lista5.Lista5.main(Lista5.java:18)
C:\Users\eljunior\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 4 seconds)”
Agradeço desde ja a atenção da galera do GUJ. Abraço a todos.
O que acontece é que você tem um array de 10 posições (0 a 9) e não está tratando a entrada de maneira adequada, de maneira que você lê um número com todos os seus dígitos e não as posições distintas, como acredita que está fazendo.
Você precisa pegar toda e qualquer entrada com mais de uma “casa” e quebrar em quantas “casas” forem os dígitos daquele número inserido.
Exemplo:
Usuário digita 322. Você precisa quebrar isso em três partes: 3, 2 e 2
Após isso, você precisa “andar” em cada casa e obter o valor referente à cada uma, por extenso.