Consulta:
Elaborar un programa en java que permita ingresar
mediante un menú la información de un
empleado y sus salarios.
Opcion1: Se debe pedir el nombre y
apellidos del empleado (por separado)
Opción2: Se debe ingresar el sueldo
mensual y validar que sea un salario
válido.
Opción 3: Elaborar el reporte ASCII
(validar que los datos del empleado y el
salario hayan sido ingresados)
Respuesta:¡Hola! Para elaborar el programa en Java que permita ingresar la información de un empleado y sus salarios, podemos utilizar la reutilización de código para hacerlo de una manera más eficiente y organizada. Por ejemplo, podemos crear una clase llamada "Empleado" que tenga las propiedades de nombre, apellido y salario mensual y los métodos para ingresar y validar la información. Luego, en otra clase llamada "MenuEmpleado" podemos utilizar los métodos de la clase "Empleado" para crear el menú que solicita la información al usuario y elaborar el reporte ASCII.
Aquí te dejo un ejemplo de cómo quedaría el código:
```
import java.util.Scanner;
public class Empleado {
private String nombre;
private String apellido;
private double salarioMensual;
public void ingresarNombre() {
Scanner sc = new Scanner(System.in);
System.out.print("Ingrese el nombre del empleado: ");
nombre = sc.nextLine();
System.out.print("Ingrese el apellido del empleado: ");
apellido = sc.nextLine();
}
public void ingresarSalario() {
Scanner sc = new Scanner(System.in);
System.out.print("Ingrese el salario mensual del empleado: ");
salarioMensual = sc.nextDouble();
while (salarioMensual <= 0) {
System.out.print("El salario ingresado no es válido. Ingrese un salario mayor a 0: ");
salarioMensual = sc.nextDouble();
}
}
public String getNombre() {
return nombre;
}
public String getApellido() {
return apellido;
}
public double getSalarioMensual() {
return salarioMensual;
}
}
public class MenuEmpleado {
public static void main(String[] args) {
Empleado empleado = new Empleado();
Scanner sc = new Scanner(System.in);
int opcion = 0;
do {
System.out.println("Menú de opciones:");
System.out.println("1. Ingresar nombre y apellido del empleado.");
System.out.println("2. Ingresar salario mensual del empleado.");
System.out.println("3. Elaborar reporte ASCII.");
System.out.println("4. Salir del programa.");
System.out.print("Ingrese una opción: ");
opcion = sc.nextInt();
switch(opcion) {
case 1:
empleado.ingresarNombre();
break;
case 2:
empleado.ingresarSalario();
break;
case 3:
if (empleado.getNombre() != null && empleado.getApellido() != null && empleado.getSalarioMensual() > 0) {
System.out.println("Reporte ASCII:");
System.out.println("Nombre del empleado: " + empleado.getNombre() + " " + empleado.getApellido());
System.out.println("Salario mensual del empleado: " + empleado.getSalarioMensual());
} else {
System.out.println("Debe ingresar la información del empleado y su salario antes de elaborar el reporte.");
}
break;
case 4:
System.out.println("Fin del programa.");
break;
default:
System.out.println("Opción no válida.");
break;
}
} while (opcion != 4);
}
}
```
Con este código, cada vez que el usuario seleccione una opción del menú, se llamará al método correspondiente de la clase "Empleado" para ingresar o validar la información. Luego, cuando se seleccione la opción de elaborar el reporte, se utilizarán los métodos "get" de la clase "Empleado" para imprimir la información del empleado y su salario en formato ASCII.