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: