metodos que se repiten
Publicado por Alejandro Giraldo (2 intervenciones) el 13/02/2022 18:50:50
en una empresa se tienen varios empleados cada empleado con cedula, nombre, apellido, salario básico
mensual , año de nacimiento
Se requiere
-Calcular y mostrar la edad en años por cada empleado
-Calcular y mostrar el salario neto mensual de cada empleado
-calcular y mostrar la nomina mensual para toda la empresa
es que tengo un problema yo cree el vector de objetos con toda la información del empleado dentro de un for calculo
la edad el salario neto pongo al usuario que ingrese cuantos empleados tiene la empresa
me muestra los datos reales de los empleados de la empresa que digito el usuario pero a la hora de los calculos de edad en años y salario neto mensual solo me muestra el calculo del ultimo empleado registrado quien me ayuda
a encontrar el error
comparto el main
package Empresa_Datos;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class main {
public static void main(String [] args){
Scanner entrada = new Scanner(System.in);
String cedula,nombre,apellido;
float SBM = 0,nomina = 0;
int ananc = 0,n_empleados;
Empresas empresas = new Empresas(nomina);
n_empleados = Integer.parseInt(JOptionPane.showInputDialog("Cuantos empleados tiene la empresa: "));
Empleados empleados[] = new Empleados[n_empleados];
for(int i=0; i<empleados.length; i++){
nombre = JOptionPane.showInputDialog("Empleado"+(i+1)+"\nDigite su nombre: ");
apellido = JOptionPane.showInputDialog("Digite su apellido: ");
cedula = JOptionPane.showInputDialog("Digite su cedula: ");
SBM = Float.parseFloat(JOptionPane.showInputDialog("Digite el salario basico mensual: "));
ananc = Integer.parseInt(JOptionPane.showInputDialog("Digite su año de nacimiento: "));
empleados[i] = new Empleados(cedula, nombre, apellido, SBM, ananc);
empleados[i].Calcular_edad(ananc);
empleados[i].calcular_salario_neto(SBM);
empresas.Calcular_nomina(SBM);
}
for(int i=0; i<empleados.length; i++){
System.out.println("\nInformacion del empleado "+(i+1)+empleados[i].toString());
System.out.print("\nLa edad del Empleado " + (i+1)+ " es " + empleados[i].Calcular_edad(ananc)+ " Años");
System.out.println("\nEl salario neto del empleado " + (i+1) + " es " + empleados[i].calcular_salario_neto(SBM));
}
System.out.println("\nLa nomina mensual de la empresa es: "+empresas.Calcular_nomina(SBM));
}
}
mensual , año de nacimiento
Se requiere
-Calcular y mostrar la edad en años por cada empleado
-Calcular y mostrar el salario neto mensual de cada empleado
-calcular y mostrar la nomina mensual para toda la empresa
es que tengo un problema yo cree el vector de objetos con toda la información del empleado dentro de un for calculo
la edad el salario neto pongo al usuario que ingrese cuantos empleados tiene la empresa
me muestra los datos reales de los empleados de la empresa que digito el usuario pero a la hora de los calculos de edad en años y salario neto mensual solo me muestra el calculo del ultimo empleado registrado quien me ayuda
a encontrar el error
comparto el main
package Empresa_Datos;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class main {
public static void main(String [] args){
Scanner entrada = new Scanner(System.in);
String cedula,nombre,apellido;
float SBM = 0,nomina = 0;
int ananc = 0,n_empleados;
Empresas empresas = new Empresas(nomina);
n_empleados = Integer.parseInt(JOptionPane.showInputDialog("Cuantos empleados tiene la empresa: "));
Empleados empleados[] = new Empleados[n_empleados];
for(int i=0; i<empleados.length; i++){
nombre = JOptionPane.showInputDialog("Empleado"+(i+1)+"\nDigite su nombre: ");
apellido = JOptionPane.showInputDialog("Digite su apellido: ");
cedula = JOptionPane.showInputDialog("Digite su cedula: ");
SBM = Float.parseFloat(JOptionPane.showInputDialog("Digite el salario basico mensual: "));
ananc = Integer.parseInt(JOptionPane.showInputDialog("Digite su año de nacimiento: "));
empleados[i] = new Empleados(cedula, nombre, apellido, SBM, ananc);
empleados[i].Calcular_edad(ananc);
empleados[i].calcular_salario_neto(SBM);
empresas.Calcular_nomina(SBM);
}
for(int i=0; i<empleados.length; i++){
System.out.println("\nInformacion del empleado "+(i+1)+empleados[i].toString());
System.out.print("\nLa edad del Empleado " + (i+1)+ " es " + empleados[i].Calcular_edad(ananc)+ " Años");
System.out.println("\nEl salario neto del empleado " + (i+1) + " es " + empleados[i].calcular_salario_neto(SBM));
}
System.out.println("\nLa nomina mensual de la empresa es: "+empresas.Calcular_nomina(SBM));
}
}
Valora esta pregunta


0