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";
}
}
}