Problema con arreglo

Iniciado por nolasco281, 27 Abril 2014, 11:14 AM

0 Miembros y 1 Visitante están viendo este tema.

nolasco281

Hola estaba tratando de ingresar datos a un arreglo per no los ingresa

Alquien me podria decir que estoy haciendo mal.

Error
Código (java) [Seleccionar]
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException

Código (java) [Seleccionar]
import java.util.Scanner;

class Arreglos
{
    Scanner tecla = new Scanner(System.in);
   
    int Tam;
    int Datos[] = new int[Tam];
   
    void tamaArr()
    {
        System.out.println("Ingrese el tama~no de la lista: ");
        Tam = tecla.nextInt();
       
        for (int i = 0; i <= Tam-1; i++)
        {
            System.out.println("Ingrese los datos en el arreglo: ");
            Datos[Tam] = tecla.nextInt();
        }
    }
}


Código (java) [Seleccionar]
public class lista {
   
    public static void main(String[] args)
    {
        Arreglos ArreglosOb = new Arreglos();
       
        ArreglosOb.tamaArr();
    }
}


segun leei es como si estubiera fuera de indice

Lo que se puede imaginar... se puede programar.

Chuidiang

Estas declarando el array así


int Tam;
int Datos[] = new int[Tam];


Tam no tiene valor, así que por defecto es 0 y estás declarando un array de tamaño cero. Si luego pides por teclado Tam y te lias a pedir valores para el array, te saldrá fuera de rango.

Haz el new int[Tam] después de pedir por teclado la variable Tam.

Se bueno.

nolasco281

#2
Si tienes razon era eso

Código (java) [Seleccionar]
   import java.util.Scanner;
   
   class Arreglos
   {
      Scanner tecla = new Scanner(System.in);
   
      int Tam;
   
      void tamaArr()
      {
          System.out.println("Ingrese el tama~no de la lista: ");
          Tam = tecla.nextInt();

           int Datos[] = new int[Tam];
   
          for (int i = 0; i <= Tam-1; i++)
          {
              System.out.println("Ingrese los datos en el arreglo: ");
              Datos[Tam] = tecla.nextInt();
          }
      }
   }


Gracias saludos.
Lo que se puede imaginar... se puede programar.