Entiendo la basico de areglos etc pero lo de proceso me destruye de donde sale
import java.util.Scanner;
public class Trabajofinal{
	
	
	static int NumeroDeEmpleado[];
	static String nombre[];
	static String apellidopaterno[];
	static String Departamento[];
	static double sueldo[];
	int op;
	int buscar;
	String buscaDepartamento;
	int fin=-1;
	static int no=1;
	
	Scanner tcl=new Scanner(System.in);
	public static void main(String[] args) {
		NumeroDeEmpleado= new int [5];
		nombre= new String [5];
		apellidopaterno= new String [5];
		Departamento= new String [5];
		sueldo= new double [5];
		
		Trabajofinal app=new Trabajofinal(); // se crea una instancia OBJeto de la clase TrabajoFinal
		do {
			app.entrada();
			app.proceso();
		} while (no!=-1);
		
		
	}
public void entrada(){
	System.out.println("1.-Registrar Empleado");
	System.out.println("2.-Eliminar Ultimo Registro");
	System.out.println("3.-Busqueda");
	System.out.println("4.-Modificar sueldo");
	System.out.println("5.-Ordenar Por Apellido Paterno");
	System.out.println("6.-Salir");
	op=tcl.nextInt();
	
}
public void proceso(){
	switch (op) {
	case 1:
		fin++;
		if (fin==5) {
			System.out.println("no hay espacio");
		}else{
			System.out.println("Ingrese nombre del empleado");
			nombre[fin]=tcl.next();
			System.out.println("ingrese su Apellido paterno");
			apellidopaterno[fin]=tcl.next();
			System.out.println("ingrese numero del empleado1");
		NumeroDeEmpleado[fin]=tcl.nextInt();
		
		System.out.println("Ingrese su departamento De Trabajo");
		System.out.println("\nDepartamentos Disponibles> "
				
				+ "calidad  "  
				+ "Ingenieria  "
				+ "produccion  "
				+ "recursoshumanos  ");
		
		Departamento[fin]=tcl.next();
		if (Departamento[fin].equals(""+ "calidad")||
				Departamento[fin].equals("recursoshumanos")||
				Departamento[fin].equals("produccion")||
				Departamento[fin].equals("ingenieria")) {
		}else{
			System.out.println("Departamento no valido");
			fin=fin-1;
			proceso();
			break;
		}
		System.out.println("ingrese su sueldo");
		sueldo[fin]=tcl.nextDouble();
		}
		break;
	case 2:
		if (fin==-1) {
			System.out.println("no hay registros");
			System.out.println("");
		}else{
			System.out.println(NumeroDeEmpleado[fin]+" "+nombre[fin]+" "+apellidopaterno[fin]+" "+Departamento[fin]+" "+sueldo[fin]);
			NumeroDeEmpleado[fin]=0;
			nombre[fin]=null;
			apellidopaterno[fin]=null;
			Departamento[fin]=null;
			sueldo[fin]=0.0;
			fin--;
			System.out.println("Se ha eliminado el ultimo empleado registrado");
			}
		
		System.out.println(" ");
		break;
		
	case 3:
		if (fin==-1) {
			System.out.println("no hay registros");
			System.out.println("");
		}else{
		System.out.println("1.-Consulta general");
		System.out.println("2.-Consulta por numero de empleado");
		System.out.println("3.-Consulta por departamento");
		op=tcl.nextInt();
		
		switch (op) {
		case 1:
			fin=fin+1;
			for (int i = 0; i < fin; i++) {
				System.out.println(NumeroDeEmpleado[i]+" "+
			nombre[i]+" "+
						apellidopaterno[i]+" "+
			Departamento[i]+" "+sueldo[i]);
			}
			System.out.println(" ");
			fin=fin-1;
			break;
		case 2:
			System.out.println("Ingrese el numero de empleado a buscar");
			buscar=tcl.nextInt();
			for (int i = 0; i < 5; i++) {
				if(NumeroDeEmpleado[i]==buscar){
					System.out.println(NumeroDeEmpleado[i]+" "+nombre[i]+" "+apellidopaterno[i]+" "+Departamento[i]+" "+sueldo[i]);
					System.out.println(" ");
				}
			}
					
			break;
		case 3:
			vaciar();
			System.out.println("Ingrese el departamento a buscar");
			buscaDepartamento=tcl.next();
			for (int i = 0; i < 5; i++) {
				if(Departamento[i].equals(buscaDepartamento)){
					System.out.println(NumeroDeEmpleado[i]+" "+nombre[i]+" "+apellidopaterno[i]+" "+Departamento[i]+" "+sueldo[i]);
				}
				
			}
			System.out.println(" ");
			break;
		default:
			System.out.println("Opcion no valida");
			break;
		}
	}
		break;
		
	case 4:
		if (fin==-1) {
			System.out.println("no hay registros");
			System.out.println("");
		}else{
			System.out.println("Ingrese el numero de empleado a buscar");
			buscar=tcl.nextInt();
			for (int i = 0; i < 5; i++) {
				if(NumeroDeEmpleado[i]==buscar){
					System.out.println(NumeroDeEmpleado[i]+" "+
				nombre[i]+" "+
				apellidopaterno[i]+" "+
				Departamento[i]+" "+
				sueldo[i]);
					System.out.println(" ");
					System.out.println("Ingrese el nuevo sueldo");
					sueldo[i]=tcl.nextDouble();
				}
			}
			System.out.println("Se ha modificado correctamente");
			System.out.println(" ");
		}
		
		
		break;
		
	case 5:
		  System.out.println("array paterno desordenado: "); 
	        for(int i=0; i<apellidopaterno.length; i++) {
	        	System.out.println( " paterno[" + i + "] = " + apellidopaterno[i] ); }
	        
		 String aux; 
	        for(int i=1; i<=apellidopaterno.length; i++) {  
	            for(int j=0; j<apellidopaterno.length-i; j++) { 
	                if( apellidopaterno[j].compareTo( apellidopaterno[j+1] ) > 0 ) { 
	                    aux   = apellidopaterno[j]; 
	                    apellidopaterno[j]  = apellidopaterno[j+1]; 
	                    apellidopaterno[j+1]= aux; 
	                }    
	            } 
	        }
	        
	        System.out.println(" array paterno ordenado: "); 
	        for(int i=0; i<apellidopaterno.length; i++) {
	        System.out.println( "Trabajador[" + i + "] = " + apellidopaterno[i] );
	        System.out.println(" ");
	   }
		
		break;
		
	case 6:
		no=-1;
		break;
		
	default:
		System.out.println("esa opcion no es valida");
		System.out.println(" ");
		break;
	}
}
public void vaciar(){
	fin=fin+1;
	for (int i = fin; i < Departamento.length; i++) {
		Departamento[i]=" ";
	}
	fin=fin-1;
}
}
[[/i][/i]
			
			
			
				Dudo que alguien se dedique a explicar paso a paso, mira el código, busca en Google lo que no sepas y lo que no entiendas preguntalo
			
			
			
				Hola lasapro por que en vez de buscar a alguien que te explique mejor no buscas el funcionamiento de cada comando ejemplo:
que es y que ase un System.out.println?
que es y que ase un plublic?
que es y que ase un int, un void, un static y etc....
y cuando comprendas el funcionamiento de cada uno de los comandos, tratas de entender tu el codigo
saludos Flamer y no es que seamos malo solo que seles ayuda a las personas que quieren aprender no a lo que quieren que les hagan las cosas
			
			
			
				Si mira tratare de explicarte algunas cosas, es muy extenso el codigo espero y lo entiendas un poco y tengas conocimientos basicos de programacion.
        static int NumeroDeEmpleado[]; //Declaracion de un arreglo()arraylist
	static String nombre[]; //Declaracion de un arreglo()arraylist
	static String apellidopaterno[]; //Declaracion de un arreglo()arraylist
	static String Departamento[]; //Declaracion de un arreglo()arraylist
	static double sueldo[]; //Declaracion de un arreglo()arraylist
	int op; //Declaracion de variable
	int buscar; //Declaracion de variable
	String buscaDepartamento; //Declaracion de variable
	int fin=-1; //Declaracion de variable
	static int no=1; //Declaracion de variable
 
//Aqui se le asigna un tamaño a tu arraylist en este caso se agregaran 5 datos de cada uno
	Scanner tcl=new Scanner(System.in);
	public static void main(String[] args) {
		NumeroDeEmpleado= new int [5];
		nombre= new String [5];
		apellidopaterno= new String [5];
		Departamento= new String [5];
		sueldo= new double [5];
 
		Trabajofinal app=new Trabajofinal(); // se crea una instancia OBJeto de la clase TrabajoFinal
		do {
			app.entrada(); //Metodos que se van a utilizar
			app.proceso(); //Metodos que se van a utilizar
		} while (no!=-1);
 
 
	}
//Menu que aparece para ver que funciones vas a realizar. el uso del system es para utilizar la consola de java
public void entrada(){
	System.out.println("1.-Registrar Empleado");
	System.out.println("2.-Eliminar Ultimo Registro");
	System.out.println("3.-Busqueda");
	System.out.println("4.-Modificar sueldo");
	System.out.println("5.-Ordenar Por Apellido Paterno");
	System.out.println("6.-Salir");
	op=tcl.nextInt();
 
}
//Este metodo sirve para agregar datos al array y se utiliza el switch ya que en la parte del menu son varias cosas que se van a realizar y dependiendo d elo que se eliga es la operacion
public void proceso(){
	switch (op) {
	case 1:
		fin++;
		if (fin==5) {
			System.out.println("no hay espacio");
		}else{
			System.out.println("Ingrese nombre del empleado");
			nombre[fin]=tcl.next();
			System.out.println("ingrese su Apellido paterno");
			apellidopaterno[fin]=tcl.next();
			System.out.println("ingrese numero del empleado1");
		NumeroDeEmpleado[fin]=tcl.nextInt();
 
		System.out.println("Ingrese su departamento De Trabajo");
		System.out.println("\nDepartamentos Disponibles> "
 
				+ "calidad  "  
				+ "Ingenieria  "
				+ "produccion  "
				+ "recursoshumanos  ");
 
		Departamento[fin]=tcl.next();
		if (Departamento[fin].equals(""+ "calidad")||
				Departamento[fin].equals("recursoshumanos")||
				Departamento[fin].equals("produccion")||
				Departamento[fin].equals("ingenieria")) {
		}else{
			System.out.println("Departamento no valido");
			fin=fin-1;
			proceso();
			break;
		}
		System.out.println("ingrese su sueldo");
		sueldo[fin]=tcl.nextDouble();
		}
		break;
 
	case 2:
		if (fin==-1) {
			System.out.println("no hay registros");
			System.out.println("");
		}else{
			System.out.println(NumeroDeEmpleado[fin]+" "+nombre[fin]+" "+apellidopaterno[fin]+" "+Departamento[fin]+" "+sueldo[fin]);
			NumeroDeEmpleado[fin]=0;
			nombre[fin]=null;
			apellidopaterno[fin]=null;
			Departamento[fin]=null;
			sueldo[fin]=0.0;
			fin--;
			System.out.println("Se ha eliminado el ultimo empleado registrado");
			}
 
		System.out.println(" ");
		break;
 
	case 3:
		if (fin==-1) {
			System.out.println("no hay registros");
			System.out.println("");
		}else{
		System.out.println("1.-Consulta general");
		System.out.println("2.-Consulta por numero de empleado");
		System.out.println("3.-Consulta por departamento");
		op=tcl.nextInt();
 
		switch (op) {
		case 1:
			fin=fin+1;
			for (int i = 0; i < fin; i++) {
				System.out.println(NumeroDeEmpleado[i]+" "+
			nombre[i]+" "+
						apellidopaterno[i]+" "+
			Departamento[i]+" "+sueldo[i]);
			}
			System.out.println(" ");
			fin=fin-1;
			break;
		case 2:
			System.out.println("Ingrese el numero de empleado a buscar");
			buscar=tcl.nextInt();
			for (int i = 0; i < 5; i++) {
				if(NumeroDeEmpleado[i]==buscar){
					System.out.println(NumeroDeEmpleado[i]+" "+nombre[i]+" "+apellidopaterno[i]+" "+Departamento[i]+" "+sueldo[i]);
					System.out.println(" ");
				}
			}
 
			break;
		case 3:
			vaciar();
			System.out.println("Ingrese el departamento a buscar");
			buscaDepartamento=tcl.next();
			for (int i = 0; i < 5; i++) {
				if(Departamento[i].equals(buscaDepartamento)){
					System.out.println(NumeroDeEmpleado[i]+" "+nombre[i]+" "+apellidopaterno[i]+" "+Departamento[i]+" "+sueldo[i]);
				}
 
			}
			System.out.println(" ");
			break;
 
		default:
			System.out.println("Opcion no valida");
			break;
		}
	}
		break;
 
	case 4:
		if (fin==-1) {
			System.out.println("no hay registros");
			System.out.println("");
		}else{
			System.out.println("Ingrese el numero de empleado a buscar");
			buscar=tcl.nextInt();
			for (int i = 0; i < 5; i++) {
				if(NumeroDeEmpleado[i]==buscar){
					System.out.println(NumeroDeEmpleado[i]+" "+
				nombre[i]+" "+
				apellidopaterno[i]+" "+
				Departamento[i]+" "+
				sueldo[i]);
					System.out.println(" ");
					System.out.println("Ingrese el nuevo sueldo");
					sueldo[i]=tcl.nextDouble();
				}
			}
			System.out.println("Se ha modificado correctamente");
			System.out.println(" ");
		}
 
 
		break;
 
	case 5:
		  System.out.println("array paterno desordenado: "); 
	        for(int i=0; i<apellidopaterno.length; i++) {
	        	System.out.println( " paterno[" + i + "] = " + apellidopaterno[i] ); }
 
		 String aux; 
	        for(int i=1; i<=apellidopaterno.length; i++) {  
	            for(int j=0; j<apellidopaterno.length-i; j++) { 
	                if( apellidopaterno[j].compareTo( apellidopaterno[j+1] ) > 0 ) { 
	                    aux   = apellidopaterno[j]; 
	                    apellidopaterno[j]  = apellidopaterno[j+1]; 
	                    apellidopaterno[j+1]= aux; 
	                }    
	            } 
	        }
 
	        System.out.println(" array paterno ordenado: "); 
	        for(int i=0; i<apellidopaterno.length; i++) {
	        System.out.println( "Trabajador[" + i + "] = " + apellidopaterno[i] );
	        System.out.println(" ");
	   }
 
		break;
 
	case 6:
		no=-1;
		break;
 
	default:
		System.out.println("esa opcion no es valida");
		System.out.println(" ");
		break;
	}
}
public void vaciar(){
	fin=fin+1;
	for (int i = fin; i < Departamento.length; i++) {
		Departamento[i]=" ";
	}
	fin=fin-1;
}
Mod: Los códigos deben ir en etiquetas GeSHi
			
			
			
				Bien mira te puedo recomendar algo que para mi es lo mas importante.
Aprende a debugear.
Establece break points y trata de ver que parte de codigo hace cada funcion y que framentos de codigo envian que datos.
te ayudara mucho
te dejo este tutorial
[youtube=640,360]https://www.youtube.com/watch?v=xCvoSnR-PQg[/youtube]
Mod: no spam
			
			
			
				Que es lo que no entiendes de el código??? :huh: :huh: :huh: :huh: :huh: :huh: