Programación General > Java

 Numeros a letras

(1/1)

gigi25:
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.


--- Código: Java(TM) 2 Platform Standard Edition 5.0 ---/* * 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;        String num="";        String [] u=new String [10];        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";        String [] esp=new String [5];        esp [0]="once";        esp [1]="doce";        esp [2]="trece";        esp [3]="catorce";        esp [4]="quince";        String [] d=new String [10];        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";        String [] c=new String [9];        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";                Scanner leer=new Scanner (System.in);        System.out.println("Proporcionar numero");        num=leer.nextLine();        largo=num.length();        NUM=Integer.parseInt(num);         if(largo==1){                    System.out.printf("\n"+u[NUM]);         }         if(largo==2){             if(NUM==10){                 System.out.printf("diez\n");             }             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){                 System.out.printf("cien\n");             }            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){             System.out.printf("mil\n");         }        // 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.

grandzam:
Ese error se refiere a que estas queriendo acceder a una posición del arreglo que no existe.

5alud.

Navegación

[0] Índice de Mensajes

Ir a la versión completa