Hola!! les agradeceria muchisimo si me ayudan tantito en un programa. Soy novato, apenas estoy aprendiendo. Tengo que hacer un programa que convierta de numeros a letras, puedo usar switch y arreglos. Este es el que he estado haciendo, pero me marca un error y no estoy segura de porque.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Numletras;
import java.util.Scanner;
/**
*
* @author jhsd
*/
public class Numletras {
/**
* @param args the command line arguments
*/
public static void main
(String[] args
) { int largo=0, NUM=0,U=0,D=0,C=0;
u [0]="cero";
u [1]="uno";
u [2]="dos";
u [3]="tres";
u [4]="cuatro";
u [5]="cinco";
u [6]="seis";
u [7]="siete";
u [8]="ocho";
u [9]="nueve";
esp [0]="once";
esp [1]="doce";
esp [2]="trece";
esp [3]="catorce";
esp [4]="quince";
d [0]="";
d [1]="dieci";
d [2]="veinti";
d [3]="treinta";
d [4]="cuarenta";
d [5]="cincuenta";
d [6]="sesenta";
d [7]="setenta";
d [8]="ochenta";
d [9]="noventa";
c [0]="ciento";
c [1]="doscientos";
c [2]="trescientos";
c [3]="cuatrocientos";
c [4]="quinientos";
c [5]="seiscientos";
c [6]="setecientos";
c [7]="ochocientos";
c [8]="novecientos";
System.
out.
println("Proporcionar numero"); num=leer.nextLine();
largo=num.length();
if(largo==1){
System.
out.
printf("\n"+u
[NUM
]); }
if(largo==2){
if(NUM==10){
}
if(NUM==20){
System.
out.
printf("veinte\n"); }
if(NUM<=15){
System.
out.
printf(" "+esp
[NUM-
11]); }
if(NUM>15){
U=num.charAt(0);
D=num.charAt(1);
System.
out.
printf(" "+d
[D
]+
"y"+u
[U
]); }
}
if (largo==3){
if(NUM==100){
}
U=num.charAt(0);
D=num.charAt(1);
C=num.charAt(2);
System.
out.
printf(" "+c
[C-
1]+
" "+d
[D
]+
"y"+u
[U
]); }
if (largo==4){
}
// TODO code application logic here
}
}
Este es el error que me marca:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 52
at numletras.Numletras.main(Numletras.java:79)
Java Result: 1
Como ya dije, les agradeceria en el alma que me ayudaran. Segun yo la logica esta bien, pero como dije, soy un novato y me siento que no se nada.