Foros del Web » Programación para mayores de 30 ;) » Java »

Arreglos en Java (desbordamiento)

Estas en el tema de Arreglos en Java (desbordamiento) en el foro de Java en Foros del Web. ¿Cómo soluciono este error de programación? ERROR: java.lang.ArrayIndexOutOfBoundsException Bueno, investigué y esto es porque cuando el programa Java tiene acceso a la matriz "args" para ...
  #1 (permalink)  
Antiguo 22/11/2010, 14:56
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 13 años, 4 meses
Puntos: 0
Información Arreglos en Java (desbordamiento)

¿Cómo soluciono este error de programación?
ERROR: java.lang.ArrayIndexOutOfBoundsException
Bueno, investigué y esto es porque cuando el programa Java tiene acceso a la matriz "args" para los argumentos de línea de comandos o programa, intenta obtener elementos de la matriz está fuera de las matrices límites (el índice utilizado es mayor que el número de elementos de matriz - 1), pero no sé en qué parte de mi código está ese error.
Aquí les dejo una parte de mi código, espero y me puedan ayudar, me urge mucho:

//se pasa los parametros a variables
String numero = (req.getParameter("Numero"));//al ultimo numero gurado le aumentamos uno
String year_memo=(req.getParameter("Year"));
//String no_clte=(req.getParameter("Idclte"));
//System.out.println("Contenido de year_memo"+ year_memo);
/*********************************…
String empresa = (req.getParameter("empresas"));
String band = (req.getParameter("band"));
String para;
if (band == "si")
{
para = (req.getParameter("memo"));
}
else
{
para = (req.getParameter("para_memo"));
}
int noClte=(objmemos.getIdCliente(para,empre…
String no_clte=String.valueOf(noClte);

Vector memo=new Vector();
Vector clte=new Vector();
memo=objmemos.consultaIndvMemo(num… year_memo);
clte=objmemos.consultaClte(no_clte…
String num_emp= idusuario;
String tipo= objusuarios.get_TipoUsuario(num_emp);
//OBTENER LOS E-MAILS DE CCP.
String emails=(req.getParameter("ccp"));

String copiaccp=emails.trim()+"/";//Auxiliar de TEXAREA para poder dividir en campos cada nombre
int p=copiaccp.indexOf("");
int q=copiaccp.indexOf("/");
String nombre=copiaccp.substring(p,q);
String direc="";
String asunto="";
String correo="";
StringTokenizer st=new StringTokenizer(nombre,"\r");
while(st.hasMoreTokens()){
String nom=st.nextToken().trim();
String mail="";
if (nom.length()!=0){
mail=objmemos.getMail(nom);
correo=mail.trim()+"@iie.org.mx;…
direc=direc+correo;
}
}
if (direc .equals("")){
direc="No hay usuarios ccp.,";
}
String corr=direc.substring(0,direc.length()-1)… <--¿SERÁ POR ESE "-1"?
// ------------------------

//si el campo para y el campo asunto no tienen información, manda un error
//aqui tambien comprobamos que la sesión se halla iniciado y la variable num_emp contenga información
if(numero.equals("")|year_memo.equ…
printDataError(req,resp);
}

else{

System.out.println("Continuo ...");

String dia=memo.get(0).toString();
String mes=memo.get(1).toString();
String anio=memo.get(2).toString();
if (numero.length()==1)
{
System.out.println("Entro al if de que numero tiene un dijito");
numero="00"+numero;
}
if (numero.length()==2)
{
System.out.println("Entro al if de que numero tiene un dijito");
numero="0"+numero;
}
String cliente=memo.get(4).toString().toUpperCa…
String puesto=clte.get(0).toString().trim();
puesto=puesto.replace('\r','º'); //usado para reemplazar retornos de carro
puesto=puesto.replace('\n','ç'); //usado para reemplazar enter
String direccion=clte.get(1).toString().trim();
direccion=direccion.replace('\r',… //usado para reemplazar retornos de carro
direccion=direccion.replace('\n',… //usado para reemplazar enter
direccion=direccion.replace('#','… //usado para reemplazar #
direccion=direccion.replace('"','…
String texto=memo.get(7).toString();
texto=texto.replace('\r','º'); //usado para reemplazar retornos de carro
texto=texto.replace('\n','ç'); //usado para reemplazar enter
texto=texto.replace('#','·');
texto=texto.replace('?','|');
texto=texto.replace('%','ª');
texto=texto.replace('"','\'');
String de=memo.get(3).toString().toUpperCase();
String ccpe=memo.get(9).toString();
String ccp=memo.get(8).toString();

showDoc(req,resp,dia,mes,anio,num…
}
}
  #2 (permalink)  
Antiguo 23/11/2010, 06:05
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Arreglos en Java (desbordamiento)

Si lees el Stacktrace del error, te dice en que linea está el error y el indice al que has intentado acceder, además del tamaño del array. Con eso ya deberías tener bastante idea de cual es el problema.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 23/11/2010, 11:23
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Arreglos en Java (desbordamiento)

Ya chequé todo lo posible y no me corrije el error.
¿No me puedes decir en dónde está mi error? ¡Por favor!
Busco, busco y no encuentro.
  #4 (permalink)  
Antiguo 23/11/2010, 12:58
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Arreglos en Java (desbordamiento)

Repito que el StackTrace te dice donde está el error y los valores de los indices involucrados. Sin ver el StackTrace completo y sin saber los numeros de linea correspondientes al listado que muestras, nosotros solo podemos jugar a las adivinanzas.
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 24/11/2010, 00:22
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Arreglos en Java (desbordamiento)

Soy novato en esto, se escucha incoherente, pero realmente NO SÉ..exactamente dónde está el error.
Ya sé que es un stacktrace, pero aún no identifico el error.
Disculpa por ser así, pero NO se me da la programación y este trabajo lo quiero sacar porque es parte de mi Residencia Profesional (prácticas)...
jejeej

Help!!
  #6 (permalink)  
Antiguo 24/11/2010, 01:45
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Arreglos en Java (desbordamiento)

Hola,
Entiendo que seas novato, todos lo hemos sido, pero intenta entender lo que escribo:
.- Necesitamos ver el StackTrace completo. Ver solo el mensaje "ERROR: java.lang.ArrayIndexOutOfBoundsException" no es suficiente para poder ayudarte.
.- Necesitamos saber los números de linea que corresponden al listado que nos mostraste donde supuestamente está el error. Si no, tampoco podemos ayudarte.

Hallar donde está el problema es cuestión de interpretar el mensaje de error completo, pero si no lo podemos ver, no podemos hacer nada. Ten en cuenta que nosotros no podemos probar tu programa, ni sabemos lo que tu sabes sobre el, ni los valores que le pasas, ni lo vemos ejecutarse... sólo vemos lo que tu nos escribes aquí, y si no tenemos suficiente información, pues no podemos hacer mucho.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Etiquetas: arreglos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:07.