Hola me podrian explicar este codigo

Iniciado por lasapro, 20 Mayo 2016, 19:16 PM

0 Miembros y 1 Visitante están viendo este tema.

lasapro

Entiendo la basico de areglos etc pero lo de proceso me destruye de donde sale
Código (java) [Seleccionar]
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]

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Flamer

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

hectornunezrivas

#3
Si mira tratare de explicarte algunas cosas, es muy extenso el codigo espero y lo entiendas un poco y tengas conocimientos basicos de programacion.

     
Código (java) [Seleccionar]
 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

fraitey

#4
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

LaThortilla (Effort)

Que es lo que no entiendes de el código??? :huh: :huh: :huh: :huh: :huh: :huh: