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

problema con Arreglos

Estas en el tema de problema con Arreglos en el foro de Java en Foros del Web. Hola quiero saber como podria hacer q un arreglo de x longitud se guarden valores en cada espacio distinto espero explicarme bien lo q quiero ...
  #1 (permalink)  
Antiguo 13/09/2011, 14:44
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 2
problema con Arreglos

Hola

quiero saber como podria hacer q un arreglo de x longitud se guarden valores en cada espacio distinto

espero explicarme bien
lo q quiero hacer es:

creo un arreglo que se llame Nombre por ejemplo

String [] nomAlum=new String [10] ;

hay 10 espacios en este arreglo, pero yo no se si esos 10 espacios el usuario los querra rellenar y escribo un msj que dice asi:

System.out.print("Ingrese el nombre del alumno");

que el usuario ingrese el nombre del alumno y que lo guarde ese nombre en el espacio 0 ..

luego de eso hay otro msj que dice

System.out.print("Desea seguir ingresando nombres?");

que este va ligado con un ciclo while para que se repita cuantas veces el usuario quiera.


pero si pongo el msj asi con su lectura:
System.out.print("Ingrese el nombre del alumno");
nomAlum[0]=entrada.next();

cada vez que usuario ingrese un nombre se guardara en el espacio 0... porque el ciclo while lo repetira
no lo hago con for porque el usuario definira cuantas veces quiere ingresar nombres...


supongo que seria como un contador, pero no se como hacerlo :S
espero haberme explicado bien
espero su ayuda
  #2 (permalink)  
Antiguo 13/09/2011, 15:46
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: problema con Arreglos

Código javascript:
Ver original
  1. int i = 0;
  2. while(/* condicion */) {
  3. //Hago algo
  4. i++;
  5. }

Asi haces un contador en un while.
Dices que no puedes hacer un for porque el usuario elige cuantos nombres desea insertar, eso no tiene que ver y de hecho un for es mas "idoneo" en este caso ...

Primero pides la cantidad de nombres
Código Javascript:
Ver original
  1. for(int i = 0; i < cantidadNombres; i++) {
  2.   //Recogo los nombres
  3. }
  #3 (permalink)  
Antiguo 14/09/2011, 10:29
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: problema con Arreglos

pero para la variable cantidadNombres tengo que preguntarle al usuario cuantos nombres escribirá... y guardar esa cantidad en esa variable, eso es lo que no quiero..
  #4 (permalink)  
Antiguo 14/09/2011, 12:39
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: problema con Arreglos

Tu sabes de inicio el tamaño del arreglo. Si el elemento n tiene valor null lo puedes controlar.

así, una vez se hayan ingresado todos los nombres, se hace un bucle for de 0 a i=n-1 (si el arreglo es de 10 elementos entonces n-1 es 9) comprobando si el elemento en cada posición del arreglo es null, el valor de i+1 corresponderá con el número de elementos reales en ese arreglo.

De todos modos me evitaría entrar en complicaciones con arreglos simples y usaría ArrayList o Collection que se truncan cuando no tienen más elementos, se recorren con un Iterator y su longitud se mide con el método size() sobre el objeto listado o coleccion.
  #5 (permalink)  
Antiguo 14/09/2011, 14:41
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: problema con Arreglos

ups lo siento, tienes razon. La longitud del arreglo el usuario lo da.. depende cuantos nombres ingrese

entonces seria que el arreglo vaya añadiendo espacios a medida el usuario ingrese nombres, es posible?
  #6 (permalink)  
Antiguo 14/09/2011, 14:53
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: problema con Arreglos

No, no es posible con un único arreglo.

Para hacer eso tendrías que declarar un nuevo arreglo con más tamaño y transferir los datos del primero al segundo, para manejar arreglos dinámicos las opciones más habituales son las clases: Vector, ArrayList y Collection.
  #7 (permalink)  
Antiguo 14/09/2011, 19:05
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años
Puntos: 69
Respuesta: problema con Arreglos

Cita:
Iniciado por l222p Ver Mensaje
entonces seria que el arreglo vaya añadiendo espacios a medida el usuario ingrese nombres, es posible?
Como ya te dijeron, un arreglo es una estructura de datos de un tamaño definido por el programado, dicho tamaño no cambiará un avez definido.

Si quieres ingresar nombres infinitos recomiendo usar ArrayList busca como usarla...
  #8 (permalink)  
Antiguo 15/09/2011, 15:15
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: problema con Arreglos

ok, gracias!

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 10:27.