Estoy resolviendo unos ejercicios sobre este array
Una Empresa de Software tiene N empleados (Máximo = 100). Se consideran de cada
uno de ellos los siguientes datos:
Legajo: ENTERO
Apellido y nombre: CADENA DE CARACTERES
Remuneración anual: NUMERO REAL
Desarrolle un programa con las funciones o métodos necesarios para que admita las
siguientes opciones desde un menú:
a. Ingreso de los datos de los empleados en 3 arreglos unidimensionales de hasta 100
elementos cada uno. Un arreglo para cada dato.
b. Impresión de la lista de empleados ordenada por legajo, en forma creciente, con todos
sus datos.
c. Búsqueda de un empleado por su legajo. En caso de no pertenecer a la Empresa,
indicarlo expresamente.
d. Impresión de la lista de empleados ordenada por Apellido y nombre, en forma creciente,
con todos sus datos
e. Impresión del Nombre y apellido, Legajo y Remuneración anual del empleado con menor
remuneración (considere que hay uno sólo).
f. Salida del programa.
Esto es lo que voy avanzando hasta ahora, pero no me compila !!
Código:
import java.util.Scanner;
class Test {
static Scanner leer = new Scanner(System.in);
static int cant_elementos = 100;
static int[] legajo = new int[cant_elementos];
static String[] apenomb = new String[cant_elementos];
static double[] salario = new double[cant_elementos];
public static void main(String[] args) {
int flag = 0;
while (flag == 0) {
switch (inicio()) {
case 0: flag = 1; break;
case 1: registro(); break;
case 2: imprimir(); break;
case 3: busqueda(); break;
case 4: ordenar(); break;
case 5: salariomenor(); break;
default:System.out.println("Seleccione una opcion valida."); break;
}
}
}
public static int inicio() {
System.out.println(" M E N U de O P C I N E S ");
System.out.println(" 1- Ingresar datos de empleados: ");
System.out.println(" 2- Imprimir lista ordenada por legajo: ");
System.out.println(" 3- Busqueda por legajo: ");
System.out.println(" 4- Ordenar por apellido los datos de los empleados de la empresa ");
System.out.println(" 5- Mostrar datos del empleado con menor remuneracion ");
System.out.println(" 0- Programa Finalizado.");
System.out.println(" Ingrese una opcion valida: ");
return leer.nextInt();
}
public static void registro() {
System.out.println("Ingrese legajo:");
int le = leer.nextInt();
System.out.println("Ingrese Apellidos y nombres:");
String an = leer.next();
System.out.println("Ingrese sueldo:");
double sa = leer.nextDouble();
legajo[le] = le;
apenomb[le] = an;
salario[le] = sa;
}
public static void imprimir() {
for (int i = 0; i < cant_elementos; i++) {
if (legajo[i] > 0) {
System.out.println(legajo[i] + "-" + apenomb[i] + "-" + salario[i]);
}
}
}
public static void busqueda() {
System.out.println("Ingrese el numero de legajo que quiere buscar: ");
int nro = leer.nextInt();
if (legajo[nro] > 0) {
System.out.println(legajo[nro] + "-" + apenomb[nro] + "-" + salario[nro]);
if (legajo[nro] != 0) {
System.out.println("Legajo no corresponde a un empleado de la empresa");
}
}
}
public static void ordenar() {
for(int i = 0; i < cant_elementos -1; i++){
int ii = 0;
for(int j=i+1;j < cant_elementos;j++){
if(legajo[j]<legajo[ii]){
ii=j;
if(i != ii){
int a = legajo[i];
legajo[i] = legajo[ii];
legajo[ii] = a;
int c = apenomb[i];
apenomb[i] = apenomb[ii];
apenomb[ii] = c;
double s = salario[i];
salario[i] = salario[ii];
salario[ii] = s;
}
}
}
}
}
public static void salariomenor() {
int ii = 0;
double salariomenor = salario[0];
for(int i=0; i < cant_elementos;i++){
if(salario[i] < salariomenor){
ii = i;
salariomenor = salario[i];
}
}
printLine("");
printLine("");
printLine("-----------------------------------------------");
printLine("Datos del empleado de menor sueldo: ");
printLine("Legajo: " + legajo[ii] + "\tNombre y apellido: " + apenomb[ii] + "\tSueldo: " + salario[ii]);
}
}
error: incompatible types (lineas 83-85)
error: cannot find symbol (lineas 106 a 109)
Me estoy volviendo loca con array.
Me podrian dar una manito en solucionar estos errores por favor.
Y si alguno conoce algun tutorial o ejercicios sobre array nxm por favor!!
Muchisimas gracias de antemano!!