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

Ayuda con un problema!!!

Estas en el tema de Ayuda con un problema!!! en el foro de Java en Foros del Web. Como creo un arreglo de objetos dentro de otro arreglo de objetos y como lo imprimo los atributos del segundo arreglo de objetos....
  #1 (permalink)  
Antiguo 08/10/2009, 18:39
 
Fecha de Ingreso: septiembre-2009
Mensajes: 6
Antigüedad: 14 años, 7 meses
Puntos: 0
Ayuda con un problema!!!

Como creo un arreglo de objetos dentro de otro arreglo de objetos y como lo imprimo los atributos del segundo arreglo de objetos.

Última edición por Slowdeathv; 09/10/2009 a las 12:49
  #2 (permalink)  
Antiguo 09/10/2009, 12:07
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: Ayuda con un problema!!!

me imagino que eso te lo pidieron en la escuela, si es asi dudo que alguien te haga tu tarea, deberias hacerlo tu si en vdd quieres aprender.

saludos
__________________
-=:[ Lo importante no es saber todo, sino saber buscar ]:=-
  #3 (permalink)  
Antiguo 09/10/2009, 12:47
 
Fecha de Ingreso: septiembre-2009
Mensajes: 6
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Ayuda con un problema!!!

Tienes razon, mi intencion es saber como creo un arreglo de objetos dentro de otro arreglo de objetos, o porl o menos si se puede hacer(que segun yo si) pero a la hora de imprimir no me sale.
  #4 (permalink)  
Antiguo 09/10/2009, 13:32
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: Ayuda con un problema!!!

puedes poner tu codigo???
__________________
-=:[ Lo importante no es saber todo, sino saber buscar ]:=-
  #5 (permalink)  
Antiguo 12/10/2009, 18:28
 
Fecha de Ingreso: septiembre-2009
Mensajes: 6
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Ayuda con un problema!!!

pues hasta aurita, como no pudimos hacer lo del arreglo de objetos dentro de otro arreglo de objetos cambiamos de estratejia y el problema que tenemos aurita es a la hora de compara las calificaciones de los alumnos, se supone que devemos sacar los promedios y seleccionar cual es el mas altos y dar el nombre y la matricula del mismo, pero no se que pasa no sale y no se que esta mal. pero lo estamos checando aver que sale, pero si nos puedes echar la mano con algunas observaciones te lo agradeceria.
Este es el cogigoq ue tenemos:
public class control
{
String nombre, matricula,fecha;
int semestre,cre;
float mat[][]= new float [5][10];
String materias[]=new String[5];
control()
{

}
control(String n, String m, int s,float mt[][])
{
int c,c1;
nombre = n;
matricula = m;
semestre = s;
for(c=0; c<5; c++)
{
for(c1=0; c1<10; c1++)
{
mat[c][c1]=mt[c][c1];
}
}
}//fin del constructor no nulo
control(String matr[])
{
int c2;
for(c2=0;c2<5; c2++)
{
materias[c2]=matr[c2];
}
}//fin del segundo constructor no nulo
void proceso(control v1[], control v2[])
{
int ciclo,ciclo2,op=0,c=0,c1=0;
Teclado v = new Teclado();
control aux = new control();
for(ciclo=0; ciclo<v1.length;ciclo++)
{
System.out.println("Escribe el nombre del alumno "+(ciclo+1));
aux.nombre = v.leeString();
System.out.println("Escribe la matricula del alumno "+aux.nombre);
aux.matricula = v.leeString();
System.out.println("Escribe el semestre del alumno "+aux.nombre);
aux.semestre = v.leeInt();
System.out.println("Escribe las 5 materias que llevas");
for(ciclo2=0;ciclo2<5;ciclo2++)
{
System.out.println("Materia "+(ciclo2+1));
aux.materias[ciclo2]= v.leeString();
}
for(c=0; c<5; c++)
{
System.out.println("Escribe las 10 calificaciones de "+aux.materias[c]);
for(c1=0; c1<10; c1++)
{
System.out.println("Unidad "+(c1+1));
aux.mat[c][c1] = v.leeFloat();
}
}
v1[ciclo]= new control(aux.nombre,aux.matricula,aux.semestre,aux. mat);
v2[ciclo]=new control(aux.materias);
}//fin del for principal

}//Fin del metodo

void proceso(control g[])
{
float promedio=0,aux=0;temp=0;

for(int c=0; c<g.length; c++)
{
for(int c1=0; c1<5; c1++)
{
for(float sa:g[c].mat[c1])
promedio+=sa;
}
promedio=promedio/50;



}//fin del for
System.out.println("Mas alta"+temp);
for(int c=0;c<g.length;c++)
{
for(int c1=0;c1<5;c1++)
{
for(float sa:g[c].mat[c1])
promedio+=sa;
}
promedio=promedio/50;
System.out.println("el promedio"+ promedio);
if(promedio==aux)
{
System.out.println("El Alumno con mas alta calificacion es: "+g[c].nombre);
System.out.println("Con matricula: "+g[c].matricula);
System.out.println("\nCon promedio "+aux);
}
}
}//fin del metodo proceso

void imprime(control f[],control g[])
{
int x,y;
for(x=0; x < g.length; x++ )
{
System.out.println("El nombre del alumno "+(x+1)+" es: "+g[x].nombre);
System.out.println("La matricula del alumno "+g[x].nombre+" es: "+g[x].matricula);
System.out.println("El semestre del alumno "+g[x].nombre+" es: "+g[x].semestre);
System.out.println("Las materias son:");
for(y=0; y < 5; y++)
{
System.out.println(f[x].materias[y]);
}
for(int z=0; z<5;z++)
{
for(int w=0; w<10; w++)
{
System.out.println(g[x].mat[z][w]);
}
}
}
}//fin del metodo imprime

public static void main (String[] args)
{
Teclado v = new Teclado();
control obj = new control();
System.out.println("Escribe cuantos alumnos vas a capturar");
final int LONGITUD_ARRELO = v.leeInt();
control alumnos [] = new control[LONGITUD_ARRELO];
control datos[] = new control[LONGITUD_ARRELO];
obj.proceso(alumnos, datos);
obj.imprime(datos,alumnos);
obj.proceso(alumnos);
}//fin del main
}
  #6 (permalink)  
Antiguo 13/10/2009, 12:39
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: Ayuda con un problema!!!

hola, encontre un ejercicio de los que dan al inicio de la carrera tal vez esto te pueda ayudar

saludos...

Cita:

Ejercicio 8.2.1.8
Una compañía manufacturera fabrica 10 artículos diferentes y se trabajan tres turnos.
Elaborar un algoritmo que permita leer el nombre de cada artículo y la producción
que se hizo en cada uno de los tres turnos del día; utilizar un arreglo de una dimensión
para leer los nombres de los artículos y un arreglo de dos dimensiones (10 × 3) para leer
la producción de los diez artículos (uno en cada renglón) en los tres turnos una columna
para cada turno. La idea es leer el nombre del primer artículo y luego la producción hecha
en cada uno de los tres turnos, luego procesar el artículo 2, posteriormente el 3 y así
sucesivamente. Imprimir el siguiente reporte:
Reporte diario de producccion
Articulo Turno 1 Turno 2 Turno 3 Tot. Prod.

XXXXXXXXXXXXXXX 999 999 999 999
XXXXXXXXXXXXXXX 999 999 999 999
.
.
.
XXXXXXXXXXXXXXX 999 999 999 999
Total 999 999 999 999
Articulo con mayor produccion: XXXXXXXXXXXXXXXXXXXXXX
Produccion del articulo mayor: 999
(Primero hágalo usted...después compare la solución)
Algoritmo PRODUCCION TURNOS
Clase ProduccionTurnos
1. Método principal
a. Declaraciones
Variables
articulos: Arreglo[10] Cadena
prod: Arreglo[10][3] Entero
r,c,mayorProd,totTurno,totProd,toTotProd: Entero
articuloMay: Cadena
b. FOR r=0; r<=9; r++
1. Solicitar articulos[r]
2. Leer articulos[r]
3. FOR c=0; c<=2; c++
a. Solicitar prod[r][c]
b. Leer prod[r][c]
4. ENDFOR
c. ENDFOR
d. Imprimir encabezado
e. toTotProd = 0
mayorProd =0
f. FOR r=0; r<=9; r++
1. Imprimir articulos[r]
2. totProd =0
3. FOR c=0; c<=2; c++
a. Imprimir prod[r][c]
b. totProd = totProd + prod[r][c]
4. ENDFOR
5. Imprimir totProd
6. IF totProd > mayorProd THEN
a. mayorProd = totProd
b. articuloMay = articulos[r]
7. ENDIF
8. toTotProd = toTotProd + totProd
g. ENDFOR
h. FOR c=0; c<=2; c++
1. totTurno = 0
2. FOR r=0; r<=9; r++
a. totTurno = totTurno + prod[r][c]
3. ENDFOR
4. Imprimir totTurno
i. ENDFOR
j. Imprimir toTotProd, articuloMay, mayorProd
k. Fin Método principal
Fin Clase ProduccionTurnos
Fin


Explicación:
En el Método principal de la Clase ProduccionTurnos, se tienen las acciones:
a. Se declaran las variables
b. Inicia ciclo FOR desde r=0 hasta 9
1. Solicita articulos[r]
2. Se lee en articulos[r]
3. Inicia ciclo FOR desde c=0 hasta 2
a. Solicita prod[r][c]
b. Se lee en prod[r][c]
4. Fin del FOR
c. Fin del FOR
d. Imprimir encabezado
e. Inicia totProd y mayorProd en 0
f. Inicia ciclo FOR desde r=0 hasta 9
1. Imprime articulos[r]
2. Inicia totProd en 0
3. Inicia ciclo FOR desde c=0 hasta 2
a. Imprim prod[r][c]
b. Incrementa totProd con prod[r][c]
4. Fin del FOR
5. Imprime totProd
6. Si totProd>mayorProd entonces
a. Coloca totProd en mayorProd
b. Coloca articulos[r] en articuloMay
7. Fin del IF
8. Incrementa toTotProd con totProd
g. Fin del FOR
h. Inicia ciclo FOR desde c=0 hasta 2
1. Inicia totTurno en 0
2. Inicia ciclo FOR desde r=0 hasta 9
a. Incrementa totTurno con prod[r][c]
3. Fin del FOR
4. Imprime totTurno
i. Fin del FOR
j. Imprime toTotProd, articuloMay, mayorProd
k. Fin del Método principal
Luego se tiene el fin de la clase y el fin del algoritmo.
__________________
-=:[ Lo importante no es saber todo, sino saber buscar ]:=-
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 20:58.