- Los Arrays multidimensionales tienen su complejidad y más si se trata de ir construyéndolos a medida de que avanza el programa ...
int[][][] fabrica;
^ ^ ^--------- datos del empleados, salario y horas
^ ^----------- empleados
^------------- talleres
- Te recomiendo leer este e-book gratuito en español: Estructuras Básicas de Datos en Java (Array y String), en el él se explica la teoría de los Array, como funcionan y como se implementan. Cubre Arrays Unidimensionales y Multidimensionales:
http://jorgesanchez.net/manuales/viejos/fpr/fpr0509.pdf
- Te sugiero revisar este avance y complementarlo para acabar con tu ejercicio:
Código
import java.util.Scanner; public class Fabrica { int[][][] fabrica; int nTalleres; // Una fabrica tiene n cantidad de talleres int nEmpleados; // Un taller tiene una n cantidad de empreados int salario; // salario por hora de un empleado int horas; // horas trabajadas a la semana de un empleado nTalleres = scanner.nextInt(); fabrica = new int[nTalleres][][]; // fabrica tiene n cantidad de talleres for ( int taller = 0; taller < nTalleres; taller++ ) { nEmpleados = scanner.nextInt(); fabrica[taller] = new int[nEmpleados][]; // taller tiene n cantidad de empleados /** Llena Empleados */ for ( int empleado = 0; empleado < nEmpleados; empleado++ ) { salario = scanner.nextInt(); horas = scanner.nextInt(); fabrica[taller][empleado] = new int[2]; fabrica[taller][empleado][0] = salario; fabrica[taller][empleado][1] = horas; } } /** Muestra nonimas */ for ( int taller = 0; taller < fabrica.length; taller++ ) { for ( int empleado = 0; empleado < fabrica[taller].length; empleado++ ) { } } } }
Código:
C:\Users\EdSon\Desktop>javac Fabrica.java && java Fabrica
Indique la cantidad de talleres: 2
Taller: 1
Indique la cantidad de empleados: 2
Empleado: 1
Indique el salario por hora: 15
Indique la cantidad de horas trabajadas en la semana: 10
Total salario semanal: 150
Empleado: 2
Indique el salario por hora: 10
Indique la cantidad de horas trabajadas en la semana: 5
Total salario semanal: 50
Taller: 2
Indique la cantidad de empleados: 1
Empleado: 1
Indique el salario por hora: 20
Indique la cantidad de horas trabajadas en la semana: 8
Total salario semanal: 160
..:: IMPRIMIENDO NÓMINA ::..
Taller 1
Empleado: 1
Sueldo por hora: 15
Horas trabajas en la semana: 10
Empleado: 2
Sueldo por hora: 10
Horas trabajas en la semana: 5
Taller 2
Empleado: 1
Sueldo por hora: 20
Horas trabajas en la semana: 8
C:\Users\EdSon\Desktop>