Java - Ayuda en un problema de arreglo de dos dimensiones

 
Vista:

Ayuda en un problema de arreglo de dos dimensiones

Publicado por Mario (2 intervenciones) el 27/10/2020 19:36:11
Buena tengo un problema con este programa, ya que no entiendo y es de arreglo java, en este caso es un arreglo de dos dimensiones y lo necesito y que me dejaron esa tarea.Se tiene los nombres de 3 estudiantes y cada estudiante tiene 2 notas. Calcule el promedio de cada estudiante. Imprima el nombre, las 2 notas y el promedio de cada estudiante.

Tiene que quedar algo similar a esto y en donde el promedio se pondría, lo agradecería mucho para poder comprender.

Tiene que ser una columna donde está el nombre que son tres: Juan, Maria, José y en notas los tres solo tienen dos notas. Juan tiene 70 y 100, Maria: 100 y 100, José 90 y 75 y en la otra columna de promedió debe aparecer el resultado de esas notas de cada uno.

Nombre Notas Promedio
0 Juan 70 100
1 Maria 100 100
2 José 90 75
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en un problema de arreglo de dos dimensiones

Publicado por Kabuto (1381 intervenciones) el 28/10/2020 00:37:02
Hola.
Lo primero es aclarar que en un array no se pueden mezclar tipos de datos.

Los nombres han de ser String, las notas int/Integer y el promedio también puede ser int/Integer (aunque sería más correcto float porque es el resultado de una división, pero bueno no es tan importante esto).
Así que no puede tener todos esos datos, en el mismo array. Como mínimo, los nombres han de ir separado en otro array.

Se podrían mezclar si hicieramos un array de clase Object...., pero esto luego implica hacer casting a distintas clases..., y no es recomendable, ni elegante, y ni mucho menos el propósito de este ejercicio.

Yo, por ejemplo, usaría tres arrays, puesto que son tres cosas distintas.
El primero de una dimensión y tipo String con los nombres.
El segundo, de dos dimensiones (matriz) para las notas tipo int.
El tercero, de una dimensión para los promedios, también int para no complicar más.

arrays

Así pues, tendrías que crear esos tres arrays.
Decide si quieres pedir datos por teclado o directamente le escribes en el código los nombres y las notas.
Los promedios no, pues se han de calcular a partir de los valores de las notas.

Entonces, el nombre que está en la posición [0] de su array, está relacionado con las dos notas de la fila 0 que son las posiciones [0][0] y [0][1] y el promedio de estas dos notas se calcula en la posición [0] del array de promedios.

El nombre en la posición [1] se relaciona con las posiciones correspondientes de los otros arrays, y lo mismo con el nombre en posición [2]

De este modo con el indice de un bucle de tipo FOR puedes acceder a todos los arrays.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
String[] nombres = new String[3];
int[][] notas = new int[3][2];
int[] promedios = new int[3];
 
for (int i = 0; i < nombres.length; i++) {
//Leo nombre
    System.out.print("Nombre alumno: ")
    nombres[i] = teclado.nextLine();
    //Leo notas
    System.out.print("Primera nota: ")
    notas[i][0] = Integer.parseInt(teclado.nextLine());
    System.out.print("Segunda nota: ")
    notas[i][1] = Integer.parseInt(teclado.nextLine());
    //Calculo promedio
    promedios[i] = (notas[i][1] + notas[i][0]) / 2;
}


Ese código serviría para pedir datos y calcular promedios.

Luego, con otro bucle parecido, podrás mostrar los datos en pantalla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda en un problema de arreglo de dos dimensiones

Publicado por Mario (2 intervenciones) el 28/10/2020 00:47:47
Muchas gracias por tu explicación, te lo agradezco mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar