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
Ir a la versión completa