Autor Tema: AYUDA EN JAVA!! ordenar números de mayor a menor  (Leído 16159 veces)

dreck

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
AYUDA EN JAVA!! ordenar números de mayor a menor
« en: 19 de Enero 2014, 18:49 »
Alguien me puede ayudar necesito realizar un programa que me indique cuantos numeros desea ingresar y que los numero ingresados los ordene de mayor a menor, antes de imprimir los numero preguntar si desea agregar otro numero (s/n), si es S ingresarlo y ordenar e imprimir en pantalla. soy nuevo en java ayuda por favor..
« Última modificación: 02 de Septiembre 2014, 18:53 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2049
    • Ver Perfil
Re:AYUDA EN JAVA!!
« Respuesta #1 en: 19 de Enero 2014, 19:33 »
Este programa que ha aparecido en otro hilo, aunque no es exactamente lo que necesitas, te da una buena pista sobre cómo pedir datos al usuario.

Código: [Seleccionar]
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.io.*;

public class MenuEscribirLeer {

    public static void main(String[] args) throws IOException{

        String menu="MENU DE Escribir y Leer\n";
        int n1,n2,n3;
        int op=0;

        menu+="1.  Escribir\n";
        menu+="2.  Leer\n";
        menu+="3.  Fin\n";
        menu+="Escoja Opción:\n";

        while (op!=3){

            op=Integer.parseInt(JOptionPane.showInputDialog(menu));

            switch (op){

                case 1:

                ObjetoEscribir objeto1 = new ObjetoEscribir();
                objeto1.crearCodigoEscribir();

                break;

                case 2:
                ObjetoLeer objeto2 = new ObjetoLeer();
                objeto2.crearCodigoLeer();

                break;

                case 3:

                break;

            }
        }

    } // cierre del  public static void main Ojo !!!! //------------------

    public static void escribir ()throws IOException{
        // TODO code application logic here

        String archivo="nombre.txt";
        FileWriter fw=  new   FileWriter(archivo,true);
        BufferedWriter bw=  new BufferedWriter(fw);     
        PrintWriter  pw= new  PrintWriter (bw);

        String nombre="";     
        int sueldo,edad;
        nombre=JOptionPane.showInputDialog("digite nombre");
        sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
        edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     

        pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");

        JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
        pw.close();

    }
}

Una vez pides el número de datos a proporcionar, lo único que necesitas es meter los datos en un ArrayList y usar el método sort para que se ordene. Aquí hay un ejemplo:

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

public class Test{
    public static void main(String arg[])
    {
        List<Double> testList=new ArrayList<Double>();
        /*Adding The values to the List*/
        testList.add(0.5);
        testList.add(0.2);
        testList.add(0.9);
        testList.add(0.1);
        testList.add(0.1);
        testList.add(0.54);
        testList.add(0.71);
        testList.add(0.71);
        testList.add(0.71);
        testList.add(0.92);
        testList.add(0.12);
        testList.add(0.65);
        testList.add(0.34);
        testList.add(0.62);

        System.out.println ("Lista desordenada");
        for (Double e: testList)    {
            System.out.println ("" + e);
        }

        Collections.sort(testList);
        System.out.println ("Lista ordenada");
        for (Double e: testList)    {
            System.out.println ("" + e);
        }
    }
}



Si no comprendes el código es que tienes que mirar antes las cosas básicas de Java, en ese caso mírate este curso: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Saludos.

dreck

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Re:AYUDA EN JAVA!!
« Respuesta #2 en: 19 de Enero 2014, 19:38 »
muchas gracias amigo, algunas cosas no las entiendo pero leeré el curso que me mandaste y asi poder entender un poco mas buen dia

dreck

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Re:AYUDA EN JAVA!!
« Respuesta #3 en: 20 de Enero 2014, 03:31 »
hola amigo si ley el curso de echo cheque y ese curso ya me dio mi maestro en la escuela, al segundo codigo si le entendi pero al al primero ese si no lo entendio no se si tu o alguien mas me puedes ayudar a desarrollar el codigo paso a paso y asi poder entender
buen dia

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2049
    • Ver Perfil
Re:AYUDA EN JAVA!!
« Respuesta #4 en: 21 de Enero 2014, 11:33 »
Perdón porque en el primer código puse la clase con el método main pero no puse las otras clases necesarias para poder compilar. Te pongo aquí las tres clases para que el programa pueda compilar y ejecutarse (las copio de otro hilo):

Clase con el método main:

Código: [Seleccionar]
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.io.*;

public class MenuEscribirLeer {

    public static void main(String[] args) throws IOException{
        String menu="MENU DE Escribir y Leer\n";
        int n1,n2,n3;
        int op=0;
        menu+="1.  Escribir\n";
        menu+="2.  Leer\n";
        menu+="3.  Fin\n";
        menu+="Escoja Opción:\n";
        while (op!=3){

            op=Integer.parseInt(JOptionPane.showInputDialog(menu));

            switch (op){
                case 1:
                ObjetoEscribir objeto1 = new ObjetoEscribir();
                objeto1.crearCodigoEscribir();
                break;
                case 2:
                ObjetoLeer objeto2 = new ObjetoLeer();
                objeto2.crearCodigoLeer();
                break;
                case 3:
                break;
            }
        }
    } // cierre del  public static void main Ojo !!!! //------------------

    public static void escribir ()throws IOException{
        // TODO code application logic here

        String archivo="nombre.txt";
        FileWriter fw=  new   FileWriter(archivo,true);
        BufferedWriter bw=  new BufferedWriter(fw);     
        PrintWriter  pw= new  PrintWriter (bw);

        String nombre="";     
        int sueldo,edad;
        nombre=JOptionPane.showInputDialog("digite nombre");
        sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
        edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     
        pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");
        JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
        pw.close();
    }
}

Clase ObjetoEscribir:

Código: [Seleccionar]
import javax.swing.*;
import java.io.*;

public class ObjetoEscribir {

    public void crearCodigoEscribir() throws IOException {
        // TODO code application logic here (algoritmo que escribe archivo)
        String archivo="nombre.txt";
        FileWriter fw=  new   FileWriter(archivo,true);
        BufferedWriter bw=  new BufferedWriter(fw);     
        PrintWriter  pw= new  PrintWriter (bw);
        String nombre="";     
        int sueldo,edad;
        nombre=JOptionPane.showInputDialog("digite nombre");
        sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
        edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     
        pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");
        JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
        pw.close();
    }
}

Clase objeto Leer:

Código: [Seleccionar]
import javax.swing.*;
import java.io.*;

public class ObjetoLeer {
    public void crearCodigoLeer() throws IOException {
        // TODO code application logic here (algoritmo que lee archivo)
        FileReader fr = new FileReader("nombre.txt");
        BufferedReader br=  new BufferedReader(fr);
        String linea="";
        linea=br.readLine();
        while(linea!=null){
            String vector[]= linea.split("--__--");
            JOptionPane.showMessageDialog(null,"Nombre"+vector[0]+"\nsueldo1:"+vector[1]+"\nsueldo1:"+vector[2]);
            linea=br.readLine();
        }
    }
}

Con esto ya deberías ser capaz de compilar y ejecutar el programa. Ahora faltaría ver si ves cómo aplicar la lógica al problema que quieres resolver.




 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".