Ver Mensaje Individual
  #16 (permalink)  
Antiguo 01/04/2007, 03:22
blackwind
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 7 meses
Puntos: 7
Re: Cuadrados Latinos

el error es el que te dije.
Código:
public void guardarValores(int w){
	
		int [] array = new int [w];
		
		for (i=0;i<=valor;i++){ <--- AQUI
		
			array[i]=i;
			
		}
		
	}
Supongamos que "valor" vale 20 (valga la redundancia jejeje). Tu arreglo "array" es de tamaño valor.
eso quiere decir que va desde la poscion 0 hasta 19 (si cuentas, de 0 a 19 hay 20 numeros).
al poner " i <= valor " estas llegando hasta la posicion "valor" en "array", lo cual quiere decir que estas tratando de accesar a la posicion 20, la cual NO existe, ya que llega hasta 19.
Lo que tienes que hacer es poner:
"i < valor" , para que asi solo llegue hasta 19.

Por otro lado, un consejo:
trata de que tus variables tengan nombres descriptivos. Que indiquen cual es su objetivo, porque estan, que contienen.

Es decir, en lugar de tener
int [] array = new int [w];
que tengas algo asi:
int[] cuadLatArr = new int[cuadLatTam];


por lo general te llevaran a nombres mas largos, pero cuando quieras leer el codigo sera mucho mas facil. Y cuando busques ayuda, sera mas sencillo que te puedan ayudar.
Sobre todo cuando tengas que hacer un programa mas largo. Tambien trata de mantener el mismo idioma siempre. Es decir, si vas a escribir codigo en ingles, mantenlo asi siempre, pero no mezcles con otros idiomas (aunque los comentarios si podrias ponerlos en español)

saludos,