Ayuda en Java

Iniciado por willyrex99, 31 Marzo 2014, 09:55 AM

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

willyrex99

necesito este programa y me e enrredado todo :(

1. almacena una lista de nombres en un arreglo y luego los ordena alfabéticamente. El método de ordenamiento es relativamente simple. Para la entrada de datos se utiliza una estructura MIENTRAS, sin saber a priori la cantidad de datos que se ingresarán.

esto es lo que tengo. ayudenme a corregirlo por favor

package programa3;
import java.util.Collections;
import javax.swing.*;
/**
*
* @author tarea
*/
public class Programa3 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    int n,i;
    String lista="Lista de nombres es:\n";
    n =Integer.parseInt(JOptionPane.showInputDialog("ingrese el numero de persona:"));
    String nombres[]=new String [n];

    //Ingreso de los nombres
    for(i=0;i< nombres.length;i++){
        nombres =JOptionPane.showInputDialog("Ingrese nombre"+(i+1)+":");
    }
    for (i=0;i<nombres.length;i++){
        lista=lista+(i+1)+"."+nombres+"\n";
         
    for(int i = 0; i < a.length; i++){
     
    }
    Collections.sort(lista);
       
    }
    JOptionPane.showMessageDialog(null,lista );
   

}

Mitsu

#1
Hola, primero hay que ajustar algunos detalles, la estructura Mientras es while, la estructura Para es for.

Como ya tienes una cantidad fija de nombres que se ingresarán, no necesitas un centinela, si no un contador.

Código (=java) [Seleccionar]

byte i=0;
while( i < n) {
nombres[i] =JOptionPane.showInputDialog("Ingrese nombre"+(i+1)+":");
i++;
}

Arrays.sort(nombres); // ordena los nombres en orden ascendente
//List<String> milista = Arrays.asList(); convierte un array a list

System.out.println("Numero\tNombre");
for(String i: nombres) {
System.out.println((i+1)+"\t"+i);
}



No puedes usar el método sort de la clase Collections porque éste método solo ordena listas. Primero tendrías que convertir tu array a lista con el método asList(array[]) de la clase Arrays.

Salu2.