0% encontró este documento útil (0 votos)
34 vistas12 páginas

Registro de Empleados en Java

El documento presenta tres versiones de código para registrar empleados. La primera versión utiliza arreglos para almacenar los datos de los empleados. La segunda versión es un código de prueba que mejora la primera versión al inicializar variables y agregar funcionalidad. La tercera versión implementa clases Empleado y Programador para representar y procesar los datos de forma orientada a objetos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
34 vistas12 páginas

Registro de Empleados en Java

El documento presenta tres versiones de código para registrar empleados. La primera versión utiliza arreglos para almacenar los datos de los empleados. La segunda versión es un código de prueba que mejora la primera versión al inicializar variables y agregar funcionalidad. La tercera versión implementa clases Empleado y Programador para representar y procesar los datos de forma orientada a objetos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

CODIGO ORIGINAL

import [Link].*;
public class Array_RegEmpleados {

public static void main(String[] args) {


Scanner sc = new Scanner([Link]);
String[] empleados = new String[7];
int[] edades=new int[7];
double[] sueldos=new double[7];
boolean[] casados = new boolean[7];
String[] dnies = new String[7];

String nombre;
String nombreMayor;
String dni;
int edad;
double sueldo;
double mayorSueldo=0;
int i=0, j=0;

// Se lee el primer empleado

[Link]("Datos Personales de los Empleados");


[Link]("Nombres de Empleado N°"+(i+1)+":");
empleados[i]=[Link]();
[Link]("DNI del Empleado:");
dnies[i] = [Link]();
[Link]("Edad del Empleado :");
edades[i]=[Link]();
[Link]("Sueldo del Empleado :");
sueldos[i]=[Link]();
[Link]("¿Está casado? (true/false):");
casados[i] = [Link]();

// Se toma el primer nombre leido como mayor

nombre = empleados[i];
dni = dnies[i];
edad = edades[i];
sueldo = sueldos[i];
mayorSueldo = sueldo;
nombreMayor = nombre;

// Se llena el resto de empleados

for(i=1; i<[Link]; i++){


[Link]();
[Link]("Nombre del Empleado N° "+ ( i+1 )
+" :");
empleados[i]=[Link]();
[Link]("DNI del Empleado:");
dnies[i] = [Link]();
[Link]("Edad: ");
edades[i]=[Link]();
[Link]("Sueldo : ");
sueldos[i]=[Link]();
[Link]("¿Está casado? (true/false):");
casados[i] = [Link]();

// Se compara el sueldo leido con el Mayor actual

if(sueldos[i]>mayorSueldo){
mayorSueldo = sueldos[i];
edad = edades[i];
nombreMayor = empleados[i];
}
}
//Mostrar resultados

[Link]("Empleado que tiene mayor sueldo es :


"+nombreMayor+" ");
[Link]("con DNI: " + dni + " ");
[Link]("cuenta con edad de : "+edad+" ");
[Link]("cual sueldo es: "+mayorSueldo+"/t");
[Link]("\n");

// Listar por pantalla los datos de cada Empleado

for(j=0; j<[Link]; j++) {


[Link]("Empleado :"+(j+1)+":"+empleados[j]);
[Link]("DNI: " + dnies[j]);
[Link]("Edad :"+edades[j]);
[Link]("Sueldo :"+sueldos[j]);
[Link]("¿Casado? :" + (casados[j] ? "Sí" :
"No"));

[Link]("-------------------------------------------");
}
}
}

CODIGO DE PRUEBA
import [Link].*;

public class Array_RegEmpleados {

public static void main(String[] args) {


Scanner sc = new Scanner([Link]);
String[] empleados = new String[2];
int[] edades = new int[2];
double[] sueldos = new double[2];
boolean[] casados = new boolean[2];
String[] dnies = new String[2];

String nombre;
String nombreMayor = ""; // Inicializar con un valor vacío
String dni = ""; // Inicializar con un valor vacío
int edad = 0; // Inicializar con un valor
double sueldo;
double mayorSueldo = 0;
int i = 0, j = 0;

// Se lee el primer empleado

[Link]("Datos Personales de los Empleados");

for (i = 0; i < [Link]; i++) {


[Link](); // Limpia el búfer del teclado

[Link]("Nombres de Empleado N° " + (i + 1) + ":");


empleados[i] = [Link]();

[Link]("DNI del Empleado:");


dnies[i] = [Link]();

[Link]("Edad del Empleado:");


edades[i] = [Link]();

[Link]("Sueldo del Empleado:");


sueldos[i] = [Link]();

[Link]("¿Está casado? (true/false):");


casados[i] = [Link]();

// Se compara el sueldo leído con el Mayor actual


if (sueldos[i] > mayorSueldo) {
mayorSueldo = sueldos[i];
edad = edades[i];
nombreMayor = empleados[i];
dni = dnies[i]; // Asignar el DNI del empleado con mayor
sueldo
}

// Calcular la clasificación de edad


String clasificacion = clasificarEdad(edades[i]);
[Link]("Clasificación de edad: " + clasificacion);
}

// Mostrar resultados
[Link]("Empleado que tiene mayor sueldo es : " +
nombreMayor + " ");
[Link]("con DNI: " + dni + " ");
[Link]("cuenta con edad de : " + edad + " ");
[Link]("cual sueldo es: " + mayorSueldo + "\n");

// Listar por pantalla los datos de cada Empleado


for (j = 0; j < [Link]; j++) {
[Link]("Nombre del Empleado N° " + (j + 1) + ":" +
empleados[j]);
[Link]("DNI: " + dnies[j]);
[Link]("Edad :" + edades[j]);
[Link]("Sueldo :" + sueldos[j]);
[Link]("¿Casado? :" + (casados[j] ? "Sí" : "No"));

[Link]("-------------------------------------------");
}
}
// Función para clasificar la edad
public static String clasificarEdad(int edad) {
if (edad <= 21) {
return "Principiante";
} else if (edad >= 22 && edad <= 35) {
return "Intermedio";
} else {
return "Senior";
}
}
}

Código de prueba

import [Link].*;

class Empleado {
private String nombre;
private String dni;
private int edad;
private double sueldo;
private boolean casado;

public Empleado(String nombre, String dni, int edad, double sueldo,


boolean casado) {
[Link] = nombre;
[Link] = dni;
[Link] = edad;
[Link] = sueldo;
[Link] = casado;
}

public void imprimirDatos() {


[Link]("Nombre: " + nombre);
[Link]("DNI: " + dni);
[Link]("Edad: " + edad);
[Link]("Sueldo: " + sueldo);
[Link]("¿Casado? " + (casado ? "Sí" : "No"));
[Link]();
}

public void aumentarSalario(double porcentaje) {


sueldo += sueldo * (porcentaje / 100);
}
}

class Programador extends Empleado {


private int lineasDeCodigoPorHora;
private String lenguajeDominante;

public Programador(String nombre, String dni, int edad, double sueldo,


boolean casado,
int lineasDeCodigoPorHora, String lenguajeDominante) {
super(nombre, dni, edad, sueldo, casado);
[Link] = lineasDeCodigoPorHora;
[Link] = lenguajeDominante;
}

public void imprimirDatos() {


[Link]();
[Link]("Líneas de Código por Hora: " +
lineasDeCodigoPorHora);
[Link]("Lenguaje Dominante: " + lenguajeDominante);
[Link]();
}
}

public class Array_RegEmpleados {

public static void main(String[] args) {


Scanner sc = new Scanner([Link]);
Programador[] empleados = new Programador[2];

for (int i = 0; i < [Link]; i++) {


[Link](); // Limpia el búfer del teclado

[Link]("Nombres de Empleado N° " + (i + 1) + ":");


String nombre = [Link]();

[Link]("DNI del Empleado:");


String dni = [Link]();

[Link]("Edad del Empleado:");


int edad = [Link]();

[Link]("Sueldo del Empleado:");


double sueldo = [Link]();

[Link]("¿Está casado? (true/false):");


boolean casado = [Link]();

[Link]("Líneas de Código por Hora:");


int lineasDeCodigoPorHora = [Link]();

[Link](); // Limpia el búfer del teclado

[Link]("Lenguaje Dominante:");
String lenguajeDominante = [Link]();

empleados[i] = new Programador(nombre, dni, edad, sueldo, casado,


lineasDeCodigoPorHora, lenguajeDominante);
}

// Mostrar datos de empleados


for (int i = 0; i < [Link]; i++) {
[Link]("Empleado N° " + (i + 1));
empleados[i].imprimirDatos();
}

// Aumentar salario de un empleado (porcentaje pasado como parámetro)


[Link]("Ingrese el índice del empleado al que desea
aumentar el salario:");
int indice = [Link]();

[Link]("Ingrese el porcentaje de aumento:");


double porcentajeAumento = [Link]();

empleados[indice - 1].aumentarSalario(porcentajeAumento);

[Link]("Empleado N° " + indice + " después del


aumento:");
empleados[indice - 1].imprimirDatos();

[Link]();
}
}

Código de prueba
import [Link].*;

class Empleado {
// ... (sin cambios)

public void imprimirDatos() {


[Link]("Nombre: " + nombre);
[Link]("DNI: " + dni);
[Link]("Edad: " + edad);
[Link]("Sueldo: " + sueldo);
[Link]("¿Casado? " + (casado ? "Sí" : "No"));
[Link]();
}

public void aumentarSalario(double porcentaje) {


sueldo += sueldo * (porcentaje / 100);
}
}

class Programador extends Empleado {


// ... (sin cambios)
}

public class Array_RegEmpleados {

public static void main(String[] args) {


Scanner sc = new Scanner([Link]);
Programador[] empleados = new Programador[2];

for (int i = 0; i < [Link]; i++) {


[Link](); // Limpia el búfer del teclado

[Link]("Nombres de Empleado N° " + (i + 1) + ":");


String nombre = [Link]();

[Link]("DNI del Empleado:");


String dni = [Link]();

[Link]("Edad del Empleado:");


int edad;
try {
edad = [Link]();
} catch (InputMismatchException e) {
[Link]("Error: Ingresa una edad válida.");
return;
}

[Link]("Sueldo del Empleado:");


double sueldo;
try {
sueldo = [Link]();
} catch (InputMismatchException e) {
[Link]("Error: Ingresa un sueldo válido.");
return;
}

[Link]("¿Está casado? (true/false):");


boolean casado = [Link]();

[Link]("Líneas de Código por Hora:");


int lineasDeCodigoPorHora = [Link]();

[Link](); // Limpia el búfer del teclado

[Link]("Lenguaje Dominante:");
String lenguajeDominante = [Link]();

empleados[i] = new Programador(nombre, dni, edad, sueldo, casado,


lineasDeCodigoPorHora, lenguajeDominante);
}

// Mostrar datos de empleados


for (int i = 0; i < [Link]; i++) {
[Link]("Empleado N° " + (i + 1));
empleados[i].imprimirDatos();
}

// Aumentar salario de un empleado (porcentaje pasado como parámetro)


[Link]("Ingrese el índice del empleado al que desea
aumentar el salario:");
int indice;
try {
indice = [Link]();
if (indice < 1 || indice > [Link]) {
[Link]("Error: Índice fuera de rango.");
return;
}
} catch (InputMismatchException e) {
[Link]("Error: Ingresa un índice válido.");
return;
}

[Link]("Ingrese el porcentaje de aumento:");


double porcentajeAumento;
try {
porcentajeAumento = [Link]();
} catch (InputMismatchException e) {
[Link]("Error: Ingresa un porcentaje válido.");
return;
}

empleados[indice - 1].aumentarSalario(porcentajeAumento);

[Link]("Empleado N° " + indice + " después del


aumento:");
empleados[indice - 1].imprimirDatos();

[Link]();
}
}

Código de prueba
import [Link];

class Empleado {
private String nombre;
private String cedula;
private int edad;
private boolean casado;
private double salario;

public Empleado(String nombre, String cedula, int edad, boolean casado,


double salario) {
[Link] = nombre;
[Link] = cedula;

if (edad >= 18 && edad <= 45) {


[Link] = edad;
} else {
throw new IllegalArgumentException("La edad debe estar en el
rango de 18 a 45 años.");
}

[Link] = casado;
[Link] = salario;
}

public void mostrarClasificacionEdad() {


if (edad <= 21) {
[Link]("Clasificación de edad: Principiante");
} else if (edad >= 22 && edad <= 35) {
[Link]("Clasificación de edad: Intermedio");
} else {
[Link]("Clasificación de edad: Senior");
}
}

public void imprimirDatos() {


[Link]("Nombre: " + nombre);
[Link]("Cédula: " + cedula);
[Link]("Edad: " + edad);
[Link]("Casado: " + (casado ? "Sí" : "No"));
[Link]("Salario: " + salario);
}

public void aumentarSalario(double porcentaje) {


salario += salario * (porcentaje / 100);
}
}

class Programador extends Empleado {


private int lineasDeCodigoPorHora;
private String lenguajeDominante;

public Programador(String nombre, String cedula, int edad, boolean


casado, double salario,
int lineasDeCodigoPorHora, String lenguajeDominante) {
super(nombre, cedula, edad, casado, salario);
[Link] = lineasDeCodigoPorHora;
[Link] = lenguajeDominante;
}

public void imprimirDatos() {


[Link]();
[Link]("Líneas de Código por Hora: " +
lineasDeCodigoPorHora);
[Link]("Lenguaje Dominante: " + lenguajeDominante);
}

public static void main(String[] args) {


Scanner sc = new Scanner([Link]);
int numEmpleados = 2; // Cambiar según la cantidad de empleados que
desees registrar
Empleado[][] empleados = new Empleado[numEmpleados][2];

for (int i = 0; i < numEmpleados; i++) {


[Link](); // Limpia el búfer del teclado

[Link]("Nombres de Empleado N° " + (i + 1) + ":");


String nombre = [Link]();

[Link]("Cédula del Empleado:");


String cedula = [Link]();

[Link]("Edad del Empleado:");


int edad = [Link]();

[Link]("¿Está casado? (true/false):");


boolean casado = [Link]();

[Link]("Salario del Empleado:");


double salario = [Link]();

[Link]("Es Programador? (true/false):");


boolean esProgramador = [Link]();

if (esProgramador) {
[Link]("Líneas de Código por Hora:");
int lineasDeCodigoPorHora = [Link]();
[Link](); // Limpia el búfer del teclado

[Link]("Lenguaje Dominante:");
String lenguajeDominante = [Link]();

empleados[i][0] = new Programador(nombre, cedula, edad,


casado, salario, lineasDeCodigoPorHora, lenguajeDominante);
} else {
empleados[i][0] = new Empleado(nombre, cedula, edad, casado,
salario);
}

// Mostrar clasificación de edad


empleados[i][0].mostrarClasificacionEdad();
}

// Mostrar datos de empleados


for (int i = 0; i < numEmpleados; i++) {
[Link]("Empleado N° " + (i + 1));
empleados[i][0].imprimirDatos();
}

// Aumentar salario de un empleado (porcentaje pasado como parámetro)


[Link]("Ingrese el índice del empleado al que desea
aumentar el salario:");
int indice = [Link]();

[Link]("Ingrese el porcentaje de aumento:");


double porcentajeAumento = [Link]();

empleados[indice - 1][0].aumentarSalario(porcentajeAumento);

[Link]("Empleado N° " + indice + " después del


aumento:");
empleados[indice - 1][0].imprimirDatos();

[Link]();
}
}

Código funcional
import [Link].*;
public class Array_RegEmpleados {

public static void main(String[] args) {


Scanner sc = new Scanner([Link]);
String[] empleados = new String[2];
int[] edades=new int[2];
double[] sueldos=new double[2];
boolean[] casados = new boolean[2];
String[] dnies = new String[2];

String nombre;
String nombreMayor;
String dni;
int edad;
double sueldo;
double mayorSueldo=0;
int i=0, j=0;

// Se lee el primer empleado

[Link]("Datos Personales de los Empleados");


[Link]("Nombres de Empleado N°"+(i+1)+":");
empleados[i]=[Link]();
[Link]("DNI del Empleado:");
dnies[i] = [Link]();
[Link]("Edad del Empleado :");
edades[i]=[Link]();
[Link]("Sueldo del Empleado :");
sueldos[i]=[Link]();
[Link]("¿Está casado? (true/false):");
casados[i] = [Link]();

// Se toma el primer nombre leido como mayor

nombre = empleados[i];
dni = dnies[i];
edad = edades[i];
sueldo = sueldos[i];
mayorSueldo = sueldo;
nombreMayor = nombre;

// Se llena el resto de empleados

for(i=1; i<[Link]; i++){


[Link]();
[Link]("Nombre del Empleado N° "+ ( i+1 )
+" :");
empleados[i]=[Link]();
[Link]("DNI del Empleado:");
dnies[i] = [Link]();
[Link]("Edad: ");
edades[i]=[Link]();
[Link]("Sueldo : ");
sueldos[i]=[Link]();
[Link]("¿Está casado? (true/false):");
casados[i] = [Link]();

// Se compara el sueldo leido con el Mayor actual

if(sueldos[i]>mayorSueldo){
mayorSueldo = sueldos[i];
edad = edades[i];
nombreMayor = empleados[i];
}
// Calcular la clasificación de edad
String clasificacion = clasificarEdad(edades[i]);
[Link]("Clasificación de edad: " + clasificacion);

}
//Mostrar resultados
[Link]("Empleado que tiene mayor sueldo es :
"+nombreMayor+" ");
[Link]("con DNI: " + dni + " ");
[Link]("cuenta con edad de : "+edad+" ");
[Link]("cual sueldo es: "+mayorSueldo+"/t");
[Link]("\n");

// Listar por pantalla los datos de cada Empleado

for(j=0; j<[Link]; j++) {


[Link]("Empleado :"+(j+1)+":"+empleados[j]);
[Link]("DNI: " + dnies[j]);
[Link]("Edad :"+edades[j]);
[Link]("Sueldo :"+sueldos[j]);
[Link]("¿Casado? :" + (casados[j] ? "Sí" :
"No"));

[Link]("-------------------------------------------");
}
}

//Función para clasificar la edad


public static String clasificarEdad(int edad) {
if (edad <= 21) {
return "Principiante";
} else if (edad >= 22 && edad <= 35) {
return "Intermedio";
} else {
return "Senior";
}
}
}

También podría gustarte