Ejercicios Arrays Java. Leer nombre y sueldo de 20 empleados y mostrar el que más gana

Programa Java que lea el nombre y el sueldo de 20 empleados y muestre el nombre y el sueldo del empleado que más gana.

Para hacerlo utilizaremos dos arrays:
Un array de String para los nombres de los empleados
Un array de tipo double para los sueldos de cada empleado.

Al mismo tiempo que leemos los datos de los empleados iremos comprobando cuál es el que tiene el mayor sueldo. Para ello tomamos el sueldo del primer empleado que se lee como mayor sueldo y después vamos comprobando el resto de sueldos. Cuando encontramos alguno mayor que el mayor actual este sueldo se convierte en el nuevo mayor.

En general para calcular el mayor de una serie de números tomamos el primero como mayor y después comparamos el resto de números.

//programa que muestra el nombre y el sueldo del empleado que más gana
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
         //creamos los arrays
        String[] empleados = new String[20];
        double[] sueldos = new double[20];

        //variables donde guardar el nombre y sueldo del empleado que más gana
        String nombreMayor;
        double mayorSueldo;

        int i = 0;

        //se lee el primer empleado
        System.out.println("Lectura de nombres y sueldos de empleados: ");
        System.out.print("Empleado " + (i + 1) + ": ");
        empleados[i] = sc.nextLine();
        System.out.print("Sueldo: ");
        sueldos[i] = sc.nextDouble();

        //se toma el primero como mayor
        mayorSueldo = sueldos[i];
        nombreMayor = empleados[i];

        //se leen el resto de empleados
        for (i = 1; i < empleados.length; i++) {
            sc.nextLine(); //limpiar el buffer
            System.out.print("Empleado " + (i + 1) + ": ");
            empleados[i] = sc.nextLine();
            System.out.print("Sueldo: ");
            sueldos[i] = sc.nextDouble();
            //se compara el sueldo leído con el mayor
            if (sueldos[i] > mayorSueldo) {
                mayorSueldo = sueldos[i];
                nombreMayor = empleados[i];
            }
        }

        //mostrar resultados
        System.out.println("Empleado con mayor sueldo: " + nombreMayor );
        System.out.println("Sueldo: " + mayorSueldo);
    }
}

22 comentarios:

  1. import java.util.Scanner;
    public class Ejemplo8 {
    public static void main(String[]args){
    System.out.println("Introduce nombre y sueldo del empleado");
    Scanner scanner=new Scanner(System.in);
    System.out.println("Numero de employees");
    int n=scanner.nextInt();

    String []arrayNombres=new String[n];
    double []arraySalarios=new double[n];

    for (int i = 0; i < n; i++) {
    System.out.print("arrayNombres["+i+"]=");
    arrayNombres[i]=scanner.next();
    }
    System.out.println("");
    for (int i = 0; i < n; i++) {
    System.out.print("arraySalarios["+i+"]=");
    arraySalarios[i]=scanner.nextInt();
    }
    System.out.println("**************************************");
    for (int i = 0; i < n; i++) {
    System.out.println("Nombre:"+arrayNombres[i]+" salario="+arraySalarios[i]);
    }
    //ordemanos menor a mayor
    for (int i = 0; i < n-1; i++) {
    double aux;
    String aux2;
    for (int j = i+1; j arraySalarios[j]) {
    aux=arraySalarios[i];
    arraySalarios[i]=arraySalarios[j];
    arraySalarios[j]=aux;

    aux2=arrayNombres[i];
    arrayNombres[i]=arrayNombres[j];
    arrayNombres[j]=aux2;
    }
    }
    }
    System.out.println("**************************************");
    System.out.println("Mayor salrio: Nombre "+arrayNombres[n-1]+" Salario="+arraySalarios[n-1]);
    }
    }

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. import java.util.Random;
    import java.util.Arrays;
    import java.util.Scanner;
    public class Act4{
    public static void main (String []args){
    Scanner lector = new Scanner (System.in);
    Random rnd = new Random ();
    String [] nombre = new String [10];
    int [] sueldos = new int [10];
    int sueldomax = 0;
    int pos = 0;
    System.out.println("Dame los nombre de los empleados");
    for (int i = 0;i sueldomax){
    sueldomax = sueldos[i];
    pos = i;
    }
    }
    for (int i = 0;i<nombre.length;i++){
    if (pos == i){
    System.out.println("Este es el nombre del empleado que mas cobra " + nombre[i] + " y esto es lo que cobra " + sueldomax);
    break;
    }
    }
    System.out.println("Esta es la lista de sueldos");
    System.out.println(Arrays.toString(sueldos));
    System.out.println("Esta es la lista de empleados");
    System.out.println(Arrays.toString(nombre));
    }
    }

    ResponderEliminar
    Respuestas
    1. import static java. lang. System. out;
      import java. util. Scanner;
      import java. util. *;
      class ejercicio3{
      public static void main (String[] arguments){
      float comparador=0;//asumir que el menor sueldo es cero
      String nombre; // gusrdar el nombre del trabajador que se va entrando
      int rec=0; // posición en el array del trabajador que mas cobra
      int i;
      Scanner miScanner= new Scanner(System. in);
      out.println("Cuantos trabajadores va a introducir en la base de datos");
      int total= miScanner.nextInt();
      String[]nombres=new String [total];
      float []salario = new float [total];
      for (i=0; i< total; i++ ){ // llenar los array
      out.println("Entre el nombre de trabajador");
      nombre = miScanner.next();
      nombres[i] =nombre; // asignando el trabajador a una posición en el array
      out.println("Entre el salarios de :" +nombre);
      float sal= miScanner.nextInt();
      salario[i]= sal; // asignando el salario a una posición en el array
      if(comparador <= sal){ // comparar los salarios
      comparador= sal; // guardar el mayor salario
      rec = i; // guardar posición del salrio mayor
      }
      }
      out.println("El mayor salario de la empresa lo tiene:"+nombres[rec] +" " );
      out.println("con:"+comparador+" "+ "euros" );
      }}

      Eliminar
  4. hola chicos necesito que me ayuden a crear un programa en java que sea capas de generar un arreglo de largo solicitado por el usuario ,luego muestre los numeros pares segun el largo de los arreglos ingresados anteriormente

    ResponderEliminar
    Respuestas
    1. Cualquiera que necesite ayuda puede que esté interesado en el taller de programación Java Básico que estaremos ofertando en linea o bien pueden escribir al correo gmail en im1online.ve donde podremos acordar el servicio y soluciones.

      Eliminar
  5. me podrian ayudar tengo un ejercicio que hacer y no se como el esjecicio dice asi :
    crear un programa que permita allar el promedio de los 15 primeros numeros

    ResponderEliminar
  6. yo lo hice asi

    Scanner sc = new Scanner(System.in);
    // creamos una variable para elegir la cantidad de nombres q queramos usar
    int nombre,mayorSueldo=0;
    String mayorNombre = null;
    int ba=0; // usamos como bandera
    System.out.println("Ingrese la cantidad de Empleados");
    nombre=sc.nextInt();

    String [] nomEmplea=new String[nombre];
    Integer [] salaEmplea=new Integer[nombre];
    // dimensionanamos de acuerdo a la cantidad de nombres que introducimos antes
    for (int i = 0; i < nombre; i++) {

    System.out.println("Ingrese el nombre: ");nomEmplea[i]=sc.next();//ingresa los nombres
    System.out.println("Su salario es: ");salaEmplea[i]=sc.nextInt();// ingresa salario
    //cargamor en nuestra variable mayorSueldo y mayor Nombre
    if(ba==0){mayorSueldo=salaEmplea[i];mayorNombre=nomEmplea[i]; ba=1;}//solo para la primera vez
    if(salaEmplea[i]>mayorSueldo){mayorSueldo=salaEmplea[i];
    mayorNombre=nomEmplea[i];} // a la vez que encontramos el mayor sueldo encontramos el nombre
    } // imprimimos fuera del for
    System.out.println("El empleado que mejor gana es: "+mayorNombre+" , su salario es: "+mayorSueldo);

    ResponderEliminar
  7. Ayúdenme con un ejercerlo en visual studio de hacer un programa para ingresar los sueldos de los 20 empleadose de una empresa,y luego informar cuantos $2000.- o más, y cuantos ganan menos de esa suma

    ResponderEliminar
  8. hola me pueden ayudar necesito crear una matriz que me muestre 10 nombres

    ResponderEliminar
  9. Mas simple

    String[] empleado = new String[20];
    double[] sueldo = new double[20];
    double aux=0;
    int pos=0;

    for (int i = 0; i < empleado.length; i++) {
    empleado[i]=JOptionPane.showInputDialog("Nombre del empleado");
    sueldo[i]=Double.parseDouble(JOptionPane.showInputDialog("Sueldo del empleado"));
    if (sueldo[i]>aux) {
    aux = sueldo[i];
    pos = i;
    }
    }
    System.out.println("El sueldo mayor es de "+empleado[pos]);
    System.out.println("y gana "+sueldo[pos]);

    ResponderEliminar
  10. Realizar un programa que permita leer de teclado valores enteras entre 1 y 9 y cargarlos dentro de una matriz de 3x3; Luego sacar el promedio de los 9 valores; y Para imprimir el resultado. Aplicar POO en el desarrollo de la matriz.

    ResponderEliminar
  11. Ayuda por favor para estos do ejercicios:

    2.- Realizar un programa que permita leer de teclado valores enteras entre 1 y 9 y cargarlos dentro de una matriz de 3x3; Luego sacar el promedio de los 9 valores; y Para imprimir el resultado. Aplicar POO en el desarrollo de la matriz.

    4.- Realizar un programa que imprima en pantalla tres opciones para calcular volumen (cubo, cilindro y una pirámide); pedir de ingresar las variables correspondientes en cada caso; Y por último, imprimir los resultados en pantalla, indicando qué figura es.

    5.- Realizar un programa que permita desarrollar el ejercicio del punto anterior en POO y, en la medida que se pueda, aplicar los conceptos de Herencia y Polimorfismo.

    ResponderEliminar
  12. Calcular la altura media de los alumnos de una clase en arrays
    alguien que ayude?

    ResponderEliminar
  13. y todo eso como seria en el lenguaje c# en visual studio

    ResponderEliminar
  14. me ayudan necesito hacer un programa el nombre de 4 empleados, ingreso de sueldo cobrado por cada uno.
    restricciones:
    1) general un vector que contenga el ingreso acumulado de los ultimos tres sueldo de cada empleado.
    2)mostral en pantalla e total que se pago en los ultimos tres meses.
    3) cual es el que tiene mayor sueldo.

    ResponderEliminar
  15. Programa Java que guarda en un array el sueldo de 20 empleados que se leen por teclado. A continuación se recorre el array y calcula cuántos sueldos son pares , cuantos impares, cual es el promedio general y cuantos sueldos de los empleados son mayores al promedio general

    ResponderEliminar
  16. Ejercicio1
    Elaborar un programa en el lenguaje de programación Java, que permita determinar cuál fue el ganador en una competencia de programación. Para el desarrollo tenga en cuenta:
     En la competencia participan 5 grupos de programadores, los cuales deben desarrollar cinco ejercicios en el menor tiempo posible.
     Se debe aplicar el concepto de matrices para resolver el ejercicio.
     Al ejecutar el programa se debe imprimir la matriz con los datos y se debe indicar cuál fue el grupo ganador.

    Ejercicio 2:

    Elaborar un programa en el lenguaje de programación Java, para que las ventas de los cinco vendedores de una compañía se ingresen en una matriz. Para el desarrollo tenga en cuenta lo siguiente:
     Aplique el concepto de arreglos bidimensionales para la resolución del ejercicio.
     La matriz debe manejar los meses del año relacionado con cada vendedor.
     Al ejecutar el programa se debe imprimir la matriz diligenciada.
    POR FAVOR AYUDA CON ESTO, GRACIAS

    ResponderEliminar
  17. Quien me pude ayudar con este ejercicio es de vida y urgente se le agradecería quien me hiciera el favor. GRACIAS:
    * Programa permita ingresar el nombre y el sueldo de 6 empleados de una empresa. Imprimir
    nombre y sueldo por empleado y total nómina.

    ResponderEliminar