• Jueves 14 de Noviembre de 2024, 17:13

Autor Tema:  Mostrar resultado de arrays  (Leído 3058 veces)

GynRaider

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Mostrar resultado de arrays
« en: Sábado 1 de Febrero de 2014, 02:09 »
0
Hola a todos.
Estoy iniciándome en java pero aún soy un novato en cuanto a programación y tengo un problema que no he podido resolver o algo me falta.
Mi pregunta es:
¿Cómo puedo hacer para que en el resultado me muestre las notas de cada alumno?
Cuando lo ejecuto, solo me salen las notas del último alumno ingresado.
Les agradecería mucho la ayuda porque realmente me gusta la informática y me gustaría conocerla.

Código: Java(TM) 2 Platform Standard Edition 5.0
  1. package alumnos.notas;
  2.  
  3. import javax.swing.JOptionPane;
  4.  
  5. public class AlumnosNotas {
  6.  
  7.     public static void main(String[] args) {
  8.         int
  9.                 x,y,
  10.                 a=0,b=0,
  11.                 n[]= new int[5];
  12.         String
  13.                 nota,
  14.                 alumno[] = new String[3];
  15.        
  16.         for(x=0;x<3;x++){
  17.             alumno[x]=JOptionPane.showInputDialog(null,"Ingrese nombre del estudiante");
  18.             for(y=0;y<5;y++){
  19.                 nota=JOptionPane.showInputDialog(null,"Ingrese nota para "+alumno[x]);
  20.                 n[y]=Integer.parseInt(nota);
  21.             }
  22.         }
  23.        
  24.         while(a<3){
  25.             JOptionPane.showMessageDialog(null,alumno[a]);
  26.             while(b<5){
  27.                 JOptionPane.showMessageDialog(null,n[b]);
  28.                 b++;
  29.             }
  30.             a++;
  31.         }
  32.     }
  33. }

PD: De lo único que, por el momento, tengo conocimiento son de estructuras condicionales, repetitivas, arrays, matrices y un poco sobre ordenamiento.

barcvilla

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re:Mostrar resultado de arrays
« Respuesta #1 en: Jueves 6 de Febrero de 2014, 21:09 »
0
Hola GynRaider

Tambien como vos soy nuevo en java, estoy estudiando con un llamado Introduction To Java Programming. Ya voy en el capitulo 7 donde se toca arreglos multidimensionales, y me anime a ver una forma de resolver tu caso. No use OptionPanel aun no veo GUI pero lo hice a traves de consola, creo que el principio es el mismo te comparto el codigo.

public class NotasAlumnos {
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        String[]alumnos = new String[3];
        double[][] notas = new double[3][5];
        int numFilas = 0;
        //Cargo el arreglo unidimensional alumnos
        for(int i = 0; i < alumnos.length; i++)
        {
            System.out.println("Ingrese nombre del estudiante: ");
            alumnos = input.nextLine();
            //cargo las notas del alumno en el arreglo bi-dimensional notas
            for(int filas = numFilas; filas < notas.length;)
            {
                for(int columnas = 0; columnas < notas[0].length; columnas++)
                {
                    System.out.println("Ingrese" + " N" + (columnas + 1) + " para " + alumnos); 
                    notas[filas][columnas] = input.nextDouble();
                }
                numFilas++;
                break;
            }
        }
        numFilas = 0; // en este punto numFilas = 3, seteo a 0 para iniciar la impresion del arreglo alumnos y notas
        //ingreso al arreglo de alumnos
        for(int i = 0; i < alumnos.length; i++)
        {
            //ingreso e impresion del alumno y sus notas
            for(int fila = numFilas; fila < notas.length;)
            {
                System.out.print(alumnos + "\t");
                for(int columna = 0; columna < notas[fila].length; columna++)
                {
                    System.out.print(notas[fila][columna] + " ");
                }
                System.out.println();
                numFilas++;
                break;
            }
        }
    }
}

Me gustaria oir sugerencia, hay cosas que no me convencen del código, espero otros aportes.

Saludos desde Buenos Aires.

jamesjogi08

  • Nuevo Miembro
  • *
  • Mensajes: 1
  • Nacionalidad: 00
    • Ver Perfil
Re:Mostrar resultado de arrays
« Respuesta #2 en: Miércoles 8 de Abril de 2015, 19:05 »
0
Te recomiendo que utilices listas genericas (List<Type>).
Lo que puedes hacer, es dentro de tu objeto Alumnos, definir una List de tipo "NotaAlumno". De esta manera cada objeto Alumno tendra una coleccion (es decir muchos) objetos "NotaAlumno".