Ordenar arrays

Q onda compas como estaN??
espero me puedan ayudar tengo un problema con ordenar array
lo q quiero es q me muestre me ordene el array y me vuelva a mostrar ya ordenado:
mi programa funciona con las opciones, agregar, eliminar, buscar, modificar, mostrar etc y tengo q tener otra opcion la cual es ordenar, yo agrego un elemento con todo esto nombre, edad, equipo, posicion, calle, numero etc, pero no se como ordenar el array no q se ordene nombre, equipo calle etc, por ejemplo imprime elemento 1[y lo q pongo Nombre,edad,etc] elemento 0[y lo q pongo Nombre,edad,etc] elemento 8[y lo q pongo Nombre,edad,etc] y ordene asi elemento 0[y lo q pongo Nombre,edad,etc] elemento 1[y lo q pongo Nombre,edad,etc] elemento 8[y lo q pongo Nombre,edad,etc] , espero me haiga dado a entender, ya le intente con burbuja con el collections.sort y no me sale espero me puedan ayudar les dejo mi codigo para q puedan checar como funciona y a ver si me puede ayudar hay otra clase el de futbolista el cual funciona con herencia, set y get demas:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Ejerciciosalumprof;

import AGREGACIONPERSONA.*;
import AGREGACIONPERSONA.Futbolista.*;
import java.util.Scanner;

/**
 *
 * @author Durc v1.0
 */

public class Menuprofalumfut {static Scanner S=new Scanner(System.in);
    static Expediente P=new Expediente();
    static Futbolista [] Fb=new Futbolista[10];
 

    /**
     * @param args
     */

    public static void main(String[] args) {
            int op=0;

            do{
            System.out.println("  Selecciona la Opcion");
                        if(l<5){
            System.out.println(    "1.-Altas");
                                }
                        if(l>0){
            System.out.println(    "2.-Bajas");
            System.out.println(    "3.-Modificar");
            System.out.println(    "4.-Busqueda");
            System.out.println( "5.-Mostrar datos ingresados");
                               }
                        System.out.println( "6.-Ordenar");
            System.out.println( "7.-Regresar menu principal");
                        System.out.println( "8.-Salir");
                        op=S.nextInt();

            switch (op){
            case 1:    altasF();
                break;

            case 2: borrarF();
                break;

            case 3: cambiosF();
                break;

            case 4: buscarF();
                break;

            case 5: mostrarF();
                break;

            case 6:
                                ordenar();
                break;
            case 7:
                            break;

                        case 8:
                            System.out.println(" Saliendo del programa\n HASTA LUEGO... ");
                System.exit(0);
                break;

                default:
                    System.out.println(" Datos Incorrectos");
                    break;
            }
            }while(op!=7 && op!=8);
        }
        static void mostrarF() { int j;
               
            // TODO Auto-generated method stub

                       
                        if(l>0){
                    for(j=0;j<l;j++){
                        System.out.println(Fb[j].toString()+"\n");
                       
                       }
            }
                            }
        static public void buscarF() { int j;
            // TODO Auto-generated method stub
                        if(l>0){
                        String aux="";
                        System.out.println("Busqueda de Datos");
                        System.out.println("Nombre que desea Buscar");
                        aux=S.next();
                        for(j=0;j<l;j++){
            if(Fb[j].getNombre().compareTo(aux)==0){
                        System.out.println(Fb[j].toString()+"\n");
            } }}}
        static public void cambiosF() {int j;
            // TODO Auto-generated method stub
                        if(l>0){
                        String aux="";
                        System.out.println("Nombre que desea modificar");
                        aux=S.next();
                        for(j=0;j<l;j++){
                            if(Fb[j].getNombre().compareTo(aux)==0){
            System.out.println(Fb[j].toString());
            System.out.println("Nuevo Nombre");
            Fb[j].setNombre(S.next());
                        System.out.println("Nueva Edad");
            Fb[j].setEdad(S.nextInt());
                        System.out.println("Nuevo Equipo");
            Fb[j].setEquipo(S.next());
                        System.out.println("Nueva Posicion");
            Fb[j].setPosicion(S.next());
                        System.out.println("Nueva Calle");
                        Fb[j].getDir().setCalle(S.next());
                        System.out.println("Nuevo Numero");
                        Fb[j].getDir().setNumero(S.nextInt());
                        System.out.println("Nueva Ciudad");
                        Fb[j].getDir().setCiudad(S.next());
                            }
                       
                        }
                        }
        }
        static public void borrarF() { int j,k;
            // TODO Auto-generated method stub
                        if(l>0){
                        String aux="";
            System.out.println("Nombre a Eliminar");
                        aux=S.next();
                        for(j=0;j<l;j++){
                            if(Fb[j].getNombre().compareTo(aux)==0){
                                for(k=j;k<j-1;k++){
                                    Fb[k]=Fb[k+1];
                                }
                               Fb[l]=null; l--;                    }
                               break;

                                        }

                               }
        }
        static public void altasF() {
            // TODO Auto-generated method stub
                        if(l<5){
                        Fb[l]=new Futbolista();
            System.out.println("NOMBRE");
            Fb[l].setNombre(S.next());
            System.out.println("EDAD");
            Fb[l].setEdad(S.nextInt());
            System.out.println("EQUIPO");
            Fb[l].setEquipo(S.next());
            System.out.println("POSICION");
            Fb[l].setPosicion(S.next());
            System.out.println("CALLE");
            Fb[l].getDir().setCalle(S.next());
            System.out.println("CIUDAD");
            Fb[l].getDir().setCiudad(S.next());
            System.out.println("NUMERO");
            Fb[l].getDir().setNumero(S.nextInt());

                       l++;
        }

                          }

               
                static public void ordenar() {  
                   
                } }
<code>

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de JaimeItlzc

No seria mejor que concatenaras

No seria mejor que concatenaras y todos esos datos los metas ahora si al array.
No entiendo varias cosas por que pones a un array a incrementar?
Por que tanto static?

Se puedes hacer las cosas aun mas sencillas te estas complicando mucho las cosas.
Saludos.

maldito maestro chafa tengo

jajajajaja ya vi q el maestro q nos da programacion orientada a objetos se complica y esta bien guey jajajaja asi es como nos esta enseñando a programar.
A lo q me estas diciendo ya vi q no se utiliza tanto static, la ottra es q los datos de nombre edad y demas la tengo en otra clase llamada profesor q hereda de otra clase q se llama expediente, en esas dos clases tiene lo de nombre, edad y demas, y los mando a llamar con el metodo de set y get...
mmmm tal vez lo del por q aumento el array mke imagino q dices el de l++; es un contador q le puse, ese contador me ayuda q desaparesca el menu, en cierta cantidad de elementos agregados hace q reaparesca el menu, q tal vez a lo q tambien me comentas esta mal o hago demasiado codigo...
mmm lo q no se es q todos esos get y set donde los esta guardando, como comente lo q quiero es q cuando agrege 5 grupo de elementos me los ordene, o como asignar todos esos elementos al array...
lo q pasa es q tengo muy poco en java...
ya me habias comentado q tenia q leer mucho de java y creo q si lo tendre q hacer...

por otra parte me imagino q hay tutoriales o libros aqui??? uno q tu me recomiendes leer??? mmmm lo q me comentan es q pues con la practica sabes mas q con lo teorico pero necesito primero saber de lo q hago antes de parcticar...

espero me puedas ayudar gracias :)

Imagen de darklatiz

Ok, vamos a ver si estamos en el mismo canal :)

Según entiendo tienes una Clase Futbolista cuyas propiedades son nombre, edad, equipo, posición, calle ciudad y número, a ti te interesa ordenarlos por pocisión y no por su contenido, es decir, aleatoriamente vas introduciendo en tu arreglo Objetos del tipo futbolista en posiciones del arreglo salteadas:

      Array = [DElPiero, null, Zidane, null, null, Pele, null, Maradona]

cuando le des ordenar a tu programa quieres obtener el siguiente resultado:

      Array = [DElPiero, Zidane, Pele, Maradona, null, null, null, null]

implícitamente a esta sintaxis van cada una de sus propiedades.

Pues según yo, si este es el caso que quieres, no le veo sentido ordenarlos por posición del elemento que ocupa en el arreglo, al menos en tu código que pegaste. Con que valides que el Objeto futbolista es diferente de null bastará para no mostrar posiciones del arreglo que no están ocupadas.

Ahora que si quieres ordenarlo por nombre ahí si hay mas sentido.

Saludos.

Saludos.

Imagen de darklatiz

Ahh Por cierto

Puede checar este link http://www.cs.rit.edu/~atk/Java/Sorting/sorting.html
contiene algunos ejemplos visuales de métodos de ordenación, así como su performance y lo mejor también viene el código fuente ;)

Saludos

Imagen de CybJer

Depende solo de ti

Respecto al orden, explicas que quieres que el arreglo se ordene asi 0,1,2..... debo decirte amigo que el elemento que metas en la posicion 0 sera el elemento 0 del arreglo asi que si le pasas un for incremental de 1 en 1 mostrara ordenado.

        for(int i=0;i<Fb.length;i++){
                System.out.println("NOMBRE: "+Fb[i].getNombre());
                System.out.println("EDAD: "+Fb[i].getEdad());
                System.out.println("EQUIPO: "+Fb[i].getEquipo());
                System.out.println("POSICION: "+Fb[i].getPosicion());
                System.out.println("CALLE: "+Fb[i].getDir().getCalle());
                System.out.println("CIUDAD: "+Fb[i].getDir().getCiudad());
                System.out.println("NUMERO: "+Fb[i].getDir().getNumero());
        }

Si eso no lo imprime en el orden que quieres
Explica ¿sobre que parametro quieres ordenar a los jugadores? numero, equipo, posicion,nombre,etc...
Ahora respecto a tu maestro chafa
Si el profesor esta errado y te has percatado que no conoce la OO pues amigo depende de ti hacer las cosas bien ese codigo es tuyo, asi que la culpa de eso solo la tienes tu no te justifiques, no basta con criticar y buscar culpables tambien hay que tratar de hacer las cosas lo mejor que podamos(A mi tambien me paso en la carrera pedian php,java,oracle,etc.. y no sabian usarlos pese a eso hacia lo mejor que podia).
Yo te recomiendo leas en que consiste la OO y los diferentes modificadores que se emplean en java (No es solo usarlo; si no saber el como y porque usarlo) este comentario lo hago por el static.
Ahora te recomiendo te leas de inicio a fin este curso de java basico, pese a que se ven muchos temas el contenido por capitulo es de a lo mucho 1 hoja, con una explicacion simple y precisa(con este curso descubri el poder de los objetos).
http://www.mailxmail.com/curso-java/introduccion-programacion-orientada-...
PD: No busques el codigo (que si lo hay), aveces uno tiene la mala constumbre de creer que mientras mas ejemplos de codigo vienen es mejor, pero debes comprender el paradigma para realizar aplicaciones realmente Orientadas a Objetos.

Imagen de ezamudio

Comparable

Y si la clase Futbolista implementa la interfaz Comparable? Es cosa de que implementen el método compareTo() y listo... o bien, si quieren poder ordenar de distintas maneras, pueden crear un Comparator para Futbolista (o varios Comparators) y usarlos con Collections.sort().

no me justifico

orale gracias a todos los q estan ayyudando, en cuanto CybJer mmm no me justifico aca el compa me dijo q me complico mucho por q tanto static y demas, mmmmm el profesor nos explico hazlo de tal forma cosa como yo tengo el codigo del main, y pues como todo buen alumno siempre dicen a si profe sin investigarlo y es lo q estoy teniendo problemas no solo en java si no en c++ y otras materias, ya en cuanto lo q necesito tal vez no me supe explicar, asi es quiero q se ordenen por nombre, por ejemplo yo agrego 3 grupos de elementos:

nombre Zeus nombre daniel nombre gil
Edad 21 edad 20 edad 23
EQUIPO D>ELANTERO posicion defensa posicion portero

y quisiera q los ordene si por nombre
nombre daniel nombre gil nombre Zeus
edad 20 edad 23 Edad 21
posicion defensa posicion portero EQUIPO D>ELANTERO

asi de esa forma lo necesitaria, y si no supe darme a enteder ahi una disculpa...

mmm creo q seguire entrando aqui para tener un plus, aprender de ustedes q como veo ya ustedes tienen todo un java en la cabeza cosa q lo quiero hacer yo, por q saliendo de mi carrera me quiero ir a la especialidad de la programacion...

Imagen de CybJer

Justificacion

Esto es una justificacion:
el profesor nos explico hazlo de tal forma cosa como yo tengo el codigo del main y pues como todo buen alumno siempre dicen a si profe sin investigarlo
Esto traducido dice algo asi: "no es mi culpa es la de el porque asi me lo explico"
Amigo nadie nace sabiendo, pero hay que poner empeño y tener criterio propio, el que tu profesor te diga que el cielo es rojo significa que asi es o que asi debes verlo.
Como te digo el link que te pase se me hace una excelente opcion para que comienzes en la POO y mi comentario en ningun momento lo realize para molestar es un consejo que sabras tu si lo tomas o dejas.

Imagen de Jose Manuel

Justificación != Culpabilidad

Mi opinión es que si bien es cierto que justificarse no soluciona nada, te ayuda a darte cuenta del lugar en donde estas y de como son las cosas que te rodean.
El problema surge cuando no haces nada por solucionarlo ya sea para ti mismo, para un grupo o hasta para todos en general.

Si tu profesor no te explica como debería o ni siquiera te enseña como debe de ser, incluso peor ni te enseña/explica, es un problema pero, al fin de cuentas afecta solo a los estudiantes, así es que lo único que queda es buscar la forma correcta de hacer las cosas, echarle ganas y esforzarse.

Saludos.

Imagen de CybJer

De acuerdo Justificación != Culpabilidad

Mi opinión es que si bien es cierto que justificarse no soluciona nada, te ayuda a darte cuenta del lugar en donde estas y de como son las cosas que te rodean.
Es obvio que la culpa es algo diferente a una justificacion pero el que sean diferentes no implica que una no este en la otra te explico:
justificarte culpando a alguien por algo de lo que tu eres el culpable no ayuda en absolutamente nada, a diferencia de lo que explicas en el fragmento citado.
Ejemplo textual:
No entregue mi trabajo porque mi hermana se acabo la tinta
Ok tu hermana se acabo la tinta, ¿porque no lo imprimiste en otro lado? (El vecino, el cibercafe,el centro de copiado, servicio de impresion de la escuela,etc..)
La cosa es buscar alternativas, yo jamas dire esto en mi trabajo: "Es que mi modulo esta mal hecho porque mis profes del tec no me enseñaron bien a programar"

Imagen de JaimeItlzc

Hay que ver las cosas

Hay que ver las cosas como son @CybJer la eduacion en méxico esta muy por debajo de un nivel optimo, si bien lo maestros que imparten las materias de programacion no son docentes aptos para ejercerla, algunos ni programar saben otros les preguntas en que programaron dicen Visual Basic alo que voy es que no podemos seguir asi hay articulos en internet donde hacen estudios de escases de talento y resumen ellos que hace falta mucho talento ya para cubrir altos puestos por que los alumnos salen sin saber nada(Algunos).

Ahora por otra parte yo he sido de esos que siempre esta buscando algo que aprender nuevo no me espero a que el docente me diga no pues vamos a ver esto o que el me resuelva mis dudad no para nada siempre investigo, practico y lo llevo ala practica en mi carrera como estudiante.

Saludos.

Imagen de CybJer

No entiendo el punto

Estoy de acuerdo con el hecho que en México la educacion no es lo mejor, pero no me parece que la culpa sea de los profesores solamente, veo muchos alumnos sin interes en aprender, en mi tiempo como estudiante, note que nuestro aprendizaje es directamente proporcional a nuestro esfuerzo.
Lei varias veces tu post precisamente por la referencia que haces de mi sin embargo no encuentro en que difieres de mi opinion

Imagen de JaimeItlzc

Ambas partes

Ambas partes hay culpa tanto como de los alumnos como de la SEP por que es la SEP quien contrata a los docentes.
En méxico esta es tipico dedaso que entras en mayoria de los casos entrar por dedaso (Palanca), hay docentes que ya estan viejos y no quieren darle chanse a personas mas jovenes tal ves asta mejor preparados, me entiendes?

Ahora por otra parte nosotros los alumnos a casi la mayoria les dices peda (borrachera, alcohol, etc ..etc) y jalan todos eso esta comprobado y si tienes la razon por ejemplo hay conferencias de alguna tecnologia y van y dicen es que me tiene aqui ahuevo..a pero para la peda eso si son los primeros.. no se por que esa falta de intereses si es algo que les va servir es lo que ami me molesta mucho la verdad.

Saludos.

Imagen de Jose Manuel

Cultura y educación

La propia cultura de un lugar y la educación que se reciba o sea común en un área, determinara de manera importante(mas no total) el comportamiento del individuo.
Venga, quien no ha visto como es que influye la cultura y la educación en el comportamiento de una persona, ahora, la cultura se va formando conforme se pasan los años y lograr un cambio positivo es muy complicado y se verían los resultados después de un largo tiempo.

La mayoría de las personas son como los monos, si el mono " j " hace algo y no le paso nada y el mono " k " lo vio, es muy probable que haga la misma acción.

La solución muchas veces las da la misma persona, si ves que las cosas están de( perdónenme la palabra) la chingada, y quieres hacer algo al respecto, no queda mas que hacer algo empezando por ti mismo.

Pero bueno, yo veo que este tema ya esta fuera de contexto y casi casi que no dominamos el área Social - Cultural. Pero experiencias, consejos y aclaraciones son siempre buenas para aprender.
Saludos.

no me entiendes CybJer

jajajajjajaja claro q noooooo yo estoy agarrando mi culpaaaaa de q yo no leooo q por eso no le entiendo, tu estas entendiendo como tuuuu lo lees, y lo estas entendiendo maaaaaal creo q lo explicare con manzanas, yo lo q digo es q siempre el profesor nos explico de su forma de programar, pero lo q me han dicho los demas profes q si no leeemos no entenderemos nadaaaaa, y como yo no hago por leeer por eso tengo problemaaas, ya ahora si me entiendes????
gracias broooo por el link voy a leerlo para entenderle mucho maaas, y espero poder realizar el odenamiento por nombre mis arreglos, espero q si me atoro en algo me puedan ayudar....

gracias ma todos XD

RE: Hay que ver las cosas

Totalmente de acuerdo contigo. Considero que para eso se supone que pagamos en las universidades, para que nos den una guía y las bases de cómo hacer las cosas; no únicamente para buscarle (lo que para mí es lo único que enseñan a buscar por nuestra parte). Sin embargo creo que se debe hacer mucho énfasis en las bases, no creo nada bueno enseñar a alguien "Estructuras de datos" en C# (cómo en varias universidades de por acá), igual creo que para eso pagamos para ser expertos/especialistas en algo y no para que nos enseñen a buscar (que eso lo podemos aprender sin ir a la universidad).

No malinterpreten, pero a lo que voy es que por ejemplo en EUA uno puede ver cómo los docentes hablan las bases de un tema y desde el comienzo de la materia les dicen: "Para que aprendan utilicen los libros x, y, z"; de esta forma el profesor enseña las bases y los alumnos se meten de lleno. Acá en México es RARO el profesor que te recomienda un buen libro o de menos que ya tiene el temario bien estructurado.

Cómo digo, los profesores son guías que deben enseñar las bases y ya el alumno por medio de libros, foros, amigos o cualquier otra fuente debe obtener el resto del conocimiento y he aquí el problema en México son las bases.

RE: No entiendo el punto

Pues yo creo que si y no, porqué la verdad muchos profesores están ahí no por gusto de enseñar sino porqué: "No es mucho esfuerzo, tengo tales o cuales prestaciones, después de este trabajo tengo X tiempo libre, etc."
Y eso en México es en todos los niveles, es decir, desde el Kinder hasta la Universidad. Son la minoría los profesores con amor por lo que hacen; a eso añádele alumnos flojos o poco interesados; ¿puedes imaginar el resultado?. Seguido que muchos profesores o son barquísimos (pasan al que sea con tal de no verle la cara de nuevo) o son barreras (te reprueban porqué no le caes bien o por alguna cosa no justificable) y al paso de los años...los nuevos profesores creen que deben ser así y es el cuento de nunca acabar.

RE: Ambas partes

A esto también sería bueno agregarle los guías vocacionales desde la secundaria, es un factor al que no se le mete nada en México, y la descripción detallada de las carreras (aunque lo duden, cuando entré a la universidad habían personas que les preguntaban: "¿Porqué estás aquí?", el 50% de las respuestas fue: "Porqué quiero aprender a usar bien el Office"). ¿Qué resultado te da esto?, de entrada menos egresados o sea menos publicidad, incluso mala, porqué los desertores podrían decir: "me salí porqué no aprendí nada bueno, no nos enseñaban office bien"...Seguido de pérdida de recursos a personas que no caben en el perfil, o personas desinteresadas que van pasando con la mínima aprobatoria...hasta que se gradúan y su título universitario termina siendo algo muy bonito pegado en la pared para orgullo de mamá y papá; lo que significa recursos invertidos en una persona que no producirá...conozco muchos casos de estos en donde terminan en trabajos que no tienen que ver con lo que por tanto tiempo le invirtieron.