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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  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,200 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,664 Último mensaje 1 Marzo 2004, 16:43 pm
por jauma123
ayuda en java
Java
drakman 0 3,114 Último mensaje 1 Junio 2004, 11:16 am
por drakman
ayuda con java
Java
coolfrog 1 2,547 Último mensaje 12 Diciembre 2004, 08:00 am
por cimi
ayuda con java
Java
tormenta 2 2,583 Último mensaje 27 Abril 2005, 16:39 pm
por tormenta
Ayuda con Java!
Java
McKain 1 2,353 Último mensaje 30 Julio 2005, 01:28 am
por heap
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines