elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ayuda en Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda en Java  (Leído 1,173 veces)
willyrex99

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda en Java
« en: 31 Marzo 2014, 09:55 am »

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

Código:
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 );
   

}


En línea

Mitsu

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: Ayuda en Java
« Respuesta #1 en: 31 Marzo 2014, 15:39 pm »

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
  1. byte i=0;
  2. while( i < n) {
  3. nombres[i] =JOptionPane.showInputDialog("Ingrese nombre"+(i+1)+":");
  4. i++;
  5. }
  6.  
  7. Arrays.sort(nombres); // ordena los nombres en orden ascendente
  8. //List<String> milista = Arrays.asList(); convierte un array a list
  9.  
  10. System.out.println("Numero\tNombre");
  11. for(String i: nombres) {
  12. System.out.println((i+1)+"\t"+i);
  13. }


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.


« Última modificación: 31 Marzo 2014, 20:08 pm por Mitsu » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA JAVA « 1 2 »
Java
jauma123 10 8,581 Último mensaje 1 Marzo 2004, 16:43 pm
por jauma123
ayuda en java
Java
drakman 0 3,085 Último mensaje 1 Junio 2004, 11:16 am
por drakman
ayuda con java
Java
coolfrog 1 2,511 Último mensaje 12 Diciembre 2004, 08:00 am
por cimi
ayuda con java
Java
tormenta 2 2,552 Último mensaje 27 Abril 2005, 16:39 pm
por tormenta
Ayuda con Java!
Java
McKain 1 2,316 Último mensaje 30 Julio 2005, 01:28 am
por heap
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines