Foro de elhacker.net

Programación => Java => Mensaje iniciado por: brian_e en 8 Marzo 2009, 07:15 am



Título: arreglos infinitos
Publicado por: brian_e en 8 Marzo 2009, 07:15 am
Buenas:
En la universidad me pidieron hacer un programa que ingrese nombres y que se almacenen. La salida esta dada por una pregunta de continuar. He estado intentando solucionarlo con arreglos, pero necesitaria un arreglo infinito. Podria alguien darme una idea de como solucionar esto.

Por si no me explico bien... ingreso el nombre, pregunto si quiere ingresar otro y asi sucesivamente hasta que obtenga una respuesta negativa a ingresar otro. :-\

Esto se me habia ocurrido, pero no funciona.
Código:
    	int i=1;
    int terminar=1;
    String[] nombre;
    Integer nota[]=new Integer[2];
    while (terminar==1)
    {
    System.out.print("Alumno:");
    java.io.BufferedReader leer = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
    nombre=new String[2];
nombre[i]=leer.readLine();
i++;
System.out.print("¿Desea ingresar otro 1=si/0=no?");
java.io.BufferedReader fin = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
terminar=Integer.parseInt(fin.readLine());
    }



Título: Re: arreglos infinitos
Publicado por: Amerikano|Cls en 8 Marzo 2009, 15:52 pm
Lo que sucede es que estos arreglos no son dinámicos, es decir que debes de darles un tamaño fijo y por eso una solución seria que trabajaras con arrayList, linkedList, o Vector ya que son dinamicos, es decir le puedes añadir y añadir hasta que te canses y no necesita de un tamaño fijo  ;).

Se declara así:

Código
  1. ArrayList<Tipo> lista = new ArrayList<tipo>();

Y para añadirle datos:

Código
  1. lista.add(objeto);

Y con esto la lista va tomando el tamaño que va quedando cada vez que se ingresa un dato, es decir que no necesitas darle un tamaño fijo.

Para mas info, puedes ver la documentación del ArrayList, LinkedList o Vector:

- http://java.sun.com/javase/6/docs/api/java/util/ArrayList.html (http://java.sun.com/javase/6/docs/api/java/util/ArrayList.html)
- http://java.sun.com/javase/6/docs/api/java/util/LinkedList.html (http://java.sun.com/javase/6/docs/api/java/util/LinkedList.html)
- http://java.sun.com/javase/6/docs/api/java/util/Vector.html (http://java.sun.com/javase/6/docs/api/java/util/Vector.html).

salu2

amerik@no


Título: Re: arreglos infinitos
Publicado por: brian_e en 9 Marzo 2009, 05:08 am
muchas gracias, eso es exactamente lo que necesitaba...