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

Redimensionar array multidimensional

Estas en el tema de Redimensionar array multidimensional en el foro de Java en Foros del Web. Hola, me gustaria saber si yo puedo partir de un array tridimensional [0][0][0] y a partir de ahi poder redimensionarlo como quiera Se supone que ...
  #1 (permalink)  
Antiguo 13/06/2013, 03:34
 
Fecha de Ingreso: junio-2013
Mensajes: 28
Antigüedad: 11 años, 5 meses
Puntos: 1
Redimensionar array multidimensional

Hola, me gustaria saber si yo puedo partir de un array tridimensional [0][0][0] y a partir de ahi poder redimensionarlo como quiera
Se supone que puede estar pidiendome valores el programa infinitamente hasta que yo le diga que pare por lo tanto no tengo un tamaño fijo de array.
como haria esto??

yo se que para un array unidimensional se puede hacer con el CopyOf pero con multidemsional no se...

estos son los datos que me gustaria meter.


[1][0][0]=nombre de alumno
[1][1][0]=nombre de asignatura
[1][1][1]=nota
[1][2][0]=nombre de asignatura
[1][2][1]=nota
.
.
.

[2][0][0]=nombre de alumno
[2][1][0]=nombre de asignatura
[2][1][1]=nota
[2][2][0]=nombre de asignatura
[2][2][2]=nota
.
.
.

[3][0][0]=nombre de alumno
[3][1][0]=nombre de asignatura
[3][1][1]=nota
[3][2][0]=nombre de asignatura
[3][2][2]=nota
.
.
.



espero que puedan ayudarme, muchisimas gracias
  #2 (permalink)  
Antiguo 13/06/2013, 04:31
 
Fecha de Ingreso: junio-2013
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Redimensionar array multidimensional

Buenas,

Podrias optar por otro tipo ed colección como ArrayList que no tienen dimensión y son faciles de usar.

Espero que te sirva mi aporte. Un saludo.
  #3 (permalink)  
Antiguo 13/06/2013, 04:59
 
Fecha de Ingreso: junio-2013
Mensajes: 28
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Redimensionar array multidimensional

pero se puede hacer un arraylist de 3 dimensiones?

como lo hago? gracias
  #4 (permalink)  
Antiguo 13/06/2013, 05:10
 
Fecha de Ingreso: junio-2013
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Redimensionar array multidimensional

Pues en principio creo que si,

Se supone que si tu creas un ArrayList que contengan ArrayList que a su vez estos tambien con tengan ArrayList estariamos ante un ArrayList de 3 dimensiones, una cosa así:

ArrayList <ArrayList<ArrayList<Integer>>> miArrayL = new ArrayList <ArrayList<ArrayList<Integer>>>( );

más o menos es lo que explican aquí:

[URL="http://stackoverflow.com/questions/4401850/how-to-create-multidemensional-arraylist-in-java"]http://stackoverflow.com/questions/4401850/how-to-create-multidemensional-arraylist-in-java[/URL]
  #5 (permalink)  
Antiguo 13/06/2013, 05:26
 
Fecha de Ingreso: junio-2013
Mensajes: 28
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Redimensionar array multidimensional

no me aclaro con eso...., un array de arrays no seria mas facil?
  #6 (permalink)  
Antiguo 13/06/2013, 05:26
 
Fecha de Ingreso: junio-2013
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Redimensionar array multidimensional

Pero en mi opinión me crearía una Clase Alumno, que tuviera todos sus datos que tuviera un ArrayList de asiganaturas, asignaturas sería otra clase tambien que tuviera nombre y nota.

Quedaría una cosa así:

Clase asignatura

public Class asignatura {

private String nombre;
private float nota;

...

}

------------------------------------------------------------------------

Clase Alumno

public class Alumno {

private String nombre;

private String edad;

...

ArrayList<Asignatura> asignaturas = new ArrayList<Asignatura> ( );

...
}

y luego creas tu ArrayList de alumnos de la siguiente manera:

ArrayList<Alumno> asignaturas = new ArrayList<Alumno> ( );

Luego en cada clase te creas los metodos necesarios para introducir los datos y obtenerlos.
  #7 (permalink)  
Antiguo 13/06/2013, 05:41
 
Fecha de Ingreso: junio-2013
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Redimensionar array multidimensional

Imagina que quieres ver la nota de matematicas del alumno numero uno.

En la clase alumno me crearia un metodo de la siguiente manera:

public float obtenerNota (String nombreAsignatura) {

float notaOut = 0.0;

for(int i = 0; i<asignaturas.getLength( ); i++) {

if ( asignaturas.get(i).getNombre().equals(nombreAsigna tura) ) { // creamos get y set de
// todos los atributos de cada clase

notaOut = asignaturas.get(i).getNota();

}

}

return notaOut;

}

float laNota = alumnos.get(1).getNota("matematicas");


No se, yo lo veo más claro así.

Espero haberte ayudado.
  #8 (permalink)  
Antiguo 13/06/2013, 05:56
 
Fecha de Ingreso: junio-2013
Mensajes: 28
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Redimensionar array multidimensional

Desarrollar un Programa en Java que tras llamar a un método pidon, que devuelva una array de elementos que contengan la estructura(0,75 DE 5):
• nombre del Alumno
• notas del alumno
# Calificación.: entero del 0 al 10
# Nombre: de la materia

Calcule y muestre por pantalla:
• Cantidad de aprobados y suspensos.
• El Promedio de Promedios de las notas de los alumnos
El método pidon permitirá el ingreso por teclado y hasta que decida el usuario como respuesta al mensaje : ¿Deseas Ingresar Datos de otro Alumno ¿ ,Si ( 1 ) NO ( 2 ), los valores correspondientes a los conceptos:
• nombre del Alumno
• los nombres y notas de asignaturas del curso al que
pertenezca (este proceso de petición acaba cuando se introduzca fin(escrito de cualquier forma), como respuesta a la solicitud de nombre de asignatura
El método validará que al introducir el valor correspondiente al concepto nota, se introduzca un valor que no se corresponda con una cifra, debiendo en este caso, capturar de una excepción de tipo NumberFormatException, mostrar el rótulo valor incorrecto y pedir nuevamente que introduzca por teclado la respectiva nota.
Nota: indica, brevemente y mediante comentarios, el motivo de utilizar en cada caso, la sentencia de control de bucle correspondiente.

Este seria el enunciado del problema, y debe devolver un solo array.
el metodo pidon puede ser infinito hasta que yo no le diga que pare y debe devolverme todo lo que le he metido de alumnos junto sus asignaturas y notas.

No llego a crear objetos porque es estatico el programa
  #9 (permalink)  
Antiguo 13/06/2013, 06:16
 
Fecha de Ingreso: junio-2013
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Redimensionar array multidimensional

Es que los arrays tienen una dimension fija que ademas no se puede modificar una vez especificada.

Usando arrays no se, lo siento.
  #10 (permalink)  
Antiguo 13/06/2013, 08:04
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Redimensionar array multidimensional

No te están pidiendo un array multidimensional, te están pidiendo un array de una estructura (una clase) que contenga los datos que te dicen, nombre y asignaturas con sus notas.

Puedes elegir entre crear dentro de la estructura un array de una clase que contenga asignatura y nota, o crear un array de asignaturas y otro de notas donde coincidan los índices.

Por definición un array es de tamaño fijo, y aunque se puede redimensionar no es buena idea, por eso existen los arrays dinámicos. Puedes o crear un array estático con muchas posiciones, o la mejor opción, convertir el array dinámico a estático cuando lo devuelvas.

http://docs.oracle.com/javase/6/docs...util/List.html

Cita:
toArray(T[] a)
Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #11 (permalink)  
Antiguo 13/06/2013, 09:13
 
Fecha de Ingreso: junio-2013
Mensajes: 28
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Redimensionar array multidimensional

pero tambien tengo que meter el nombre de alumno en el array
  #12 (permalink)  
Antiguo 14/06/2013, 01:18
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Redimensionar array multidimensional

No te obceques con los arrays, lo que te han pedido está claro.

Cita:
te están pidiendo un array de una estructura (una clase) que contenga los datos que te dicen, nombre y asignaturas con sus notas.

Puedes elegir entre crear dentro de la estructura un array de una clase que contenga asignatura y nota,
Dwalin prácticamente te lo ha dado hecho.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: multidimensional, programa, redimensionar
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 17:34.