Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: flpe45 en 05 de Noviembre 2015, 04:39

Título: Programa en Java que ordene nombres alfabéticamente de la a a la z
Publicado por: flpe45 en 05 de Noviembre 2015, 04:39
PERO AL  MISMO TIEMPO DEBE PEDIR CUANTOS NOMBRES QUIERES INGRESAR HASTA AHORA SOLO LLEVO ESTO AYUDAA!!!!!!!

Código: [Seleccionar]
import java.util.Scanner;

    public class Nombres {
    private Scanner teclado;
    private String[] nombres;
    int n;
   

    public void leerDatos() {
    Scanner entrada = new Scanner(System.in);
    System.out.printf("Dame el numero de nombres a ingresar:\n");
      n = entrada.nextInt();
   
         teclado=new Scanner(System.in);
         nombres=new String[n];
         for(int i=0;i<nombres.length;i++) {
             System.out.println("Ingrese el nombre:");
             nombres[i]=teclado.next();
         }
     }

     public void ordenar() {
         for(int j=0;j<4;j++) {
             for(int i=0;i<4-j;i++) {
                 if (nombres[i].compareTo(nombres[i+1])>0) {
                     String aux;
                     aux=nombres[i];
                     nombres[i]=nombres[i+1];
                     nombres[i+1]=aux;
                 }
             }
         }
     }
 
     public void imprimirInfo() {
      System.out.println("NOMBRES:");
      System.out.println("ORDENADOS DE A - Z");
         for(int i=0;i<nombres.length;i++) {
             System.out.println(nombres[i]);
         }
     }
     
     public static void main(String[] ar) {
         Nombres nom=new Nombres();
         nom.leerDatos();
         nom.ordenar();
         nom.imprimirInfo();

}
}
Título: Re:HOLA QUE TAL LO QUE PASA ES QUE DEBO CREAR UN PROGRAMA QUE ORDENE NOMBRES DE A-Z
Publicado por: DRANXZ88 en 05 de Noviembre 2015, 17:12
Lo que te recomendaría que tu clase principal el main este aparte no todo dentro de una clase funciona tu código solo que esta mal ordenado tu código falta dividir las clase o ordenar mejor
Por ejemplo le hice algún modificación.
Este seria la clase principal main donde le llama al los otra clase
Código: [Seleccionar]
package odenarprueba;

public class OdenarPrueba {

    public static void main(String[] args) {
        Nombres nom = new Nombres();
        nom.leerDatos();
        nom.ordenar();
        nom.imprimirInfo();
    }

}
Y este seria la clase donde esta el código para ordenar
Código: [Seleccionar]
package odenarprueba;

import java.util.Scanner;

public class Nombres {

    private Scanner teclado;
    private String[] nombres;
    int n;

    public void leerDatos() {
        Scanner entrada = new Scanner(System.in);
        System.out.printf("Dame el numero de nombres a ingresar:\n");
        n = entrada.nextInt();

        teclado = new Scanner(System.in);
        nombres = new String[n];
        for (int i = 0; i < nombres.length; i++) {
            System.out.println("Ingrese el nombre:");
            nombres[i] = teclado.next();
        }
    }

    public void ordenar() {
        for (int j = 0; j < 4; j++) {
            for (int i = 0; i < 4 - j; i++) {
                if (nombres[i].compareTo(nombres[i + 1]) > 0) {
                    String aux;
                    aux = nombres[i];
                    nombres[i] = nombres[i + 1];
                    nombres[i + 1] = aux;
                }
            }
        }
    }

    public void imprimirInfo() {
        System.out.println("NOMBRES:");
        System.out.println("ORDENADOS DE A - Z");
        for (int i = 0; i < nombres.length; i++) {
            System.out.println(nombres[i]);
        }
    }
}

Aunque la clase podía llamarlos con otro nombres que vaya mas por lo que pide se podía dividir con mas clase pero con esto ya tendría que funcionarte.