Link Log

Una manera de perder el tiempo…

Listas en Java (ArrayList)

with 38 comments

Aquí esta un ejemplo de listas en Java utilizando ArrayList:

Lo que hace este programa, es que pide el nombre del alumno y tres calificaciones para luego calcular su promedio. Se puede agregar cualquier cantidad de elementos a la lista.

public class NodoLista4{
    String nom;
    int calif1;
    int calif2;
    int calif3;
}
import java.util.*;
public class ListaAlumnos{

       static double prom;
   public static void main( String args[] ){
     Scanner leer = new Scanner(System.in);

        NodoLista4 nodo = new NodoLista4();
        int op;

        ArrayList lista = new ArrayList();
     do{
        System.out.println( "Ingrese el nombre del alumno:" );
        nodo.nom = leer.next();
        System.out.println( "Ingrese la primera calificación:" );
        nodo.calif1 = leer.nextInt();
        System.out.println( "Ingrese la segunda calificación:" );
        nodo.calif2 = leer.nextInt();
        System.out.println( "Ingrese la tercera calificación:" );
        nodo.calif3 = leer.nextInt();

        lista.add("Nombre del alumno:\n"+nodo.nom);
        lista.add("Calificación 1:\n"+nodo.calif1);
        lista.add("Calificación 2:\n"+nodo.calif2);
        lista.add("Calificación 3\n"+nodo.calif3);

        promedio(nodo.calif1, nodo.calif2, nodo.calif3);

        lista.add("Su promedio es:\n"+prom);

        System.out.println( "¿Desea ingresar otro alumno?" );
        System.out.println( "1.-Si\t 2.-No" );
        op = leer.nextInt();
     }
      while(op != 2);
        List lista2 = new ArrayList(lista);
        Iterator it = lista2.iterator();
       while (it.hasNext()){
            System.out.println(it.next()+"");
         }
   }

      private static double promedio(int calif1, int calif2, int calif3){
          int suma = calif1 + calif2 + calif3;
          prom = suma/3;
          return prom;
      }
}

P.D.: No es necesario hacer el NodoLista4, esas variables se pueden crear en el programa, pero me acostumbre a hacer eso…

About these ads

Written by Link X

May 27, 2008 at 12:28 pm

Posted in Java

Tagged with , , ,

38 Responses

Subscribe to comments with RSS.

  1. muchas gracias por el programa pero me podrias explicar las lineas la verdad no le entiendo a algunas si porfa gracias saludos

    daniel (chino)

    October 5, 2008 at 5:57 pm

  2. una duda por que le pones nodo.y las variables me odrias explicar

    daniel (chino)

    October 5, 2008 at 6:00 pm

  3. List lista2 = new ArrayList(lista);
    Iterator it = lista2.iterator();
    while (it.hasNext()){
    System.out.println(it.next()+””);
    }

    disculpa no le entiendo a estas lineas me podrias explicar para que cirben

    daniel (chino)

    October 6, 2008 at 1:38 pm

  4. Lista lista2 = new ArrayLista(lista) sirve para crear otra lista con los elementos de la lista existente (lista)

    El iterator sirve para moverse por la lista, en este caso hacia adelante it.next() y poder manipular ese dato.

    Link

    October 6, 2008 at 8:44 pm

  5. men que buen codigo mop.. esta sobrado

    eso que ahi el que no entiende entonces q estudie hoteleria… jaja!!

    bernal

    November 11, 2008 at 9:43 am

  6. Es la primera vez que veo el manejo de arraylist y debo decir que este ejemplo me ha dejado muy satisfecho. Mil gracias
    Jhon

    Colombian Jhon

    November 13, 2008 at 4:26 pm

  7. bueno el codigo estupendo mis felicitaciones …. lo que no esta correcto es que personas inescrupulosas se expresen tan mal.. no se que clase de profesionales son… , todos no tenemos la misma capacidad de entendimiento y si algunas personas entienden mas y se sobra no deberia estar revisando estas paginas sino ps q vayan a la nassa … no te parece….

    ……..”men que buen codigo mop.. esta sobrado
    eso que ahi el que no entiende entonces q estudie hoteleria… jaja!!”……

    alejandro

    January 29, 2009 at 9:57 am

    • Buen comentario amigo.

      Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

      Adrian

      December 16, 2011 at 10:24 am

    • es verdad!!! nadie nace aprendido buen codigo

      nikolas_esteban

      July 23, 2012 at 10:34 am

  8. pero xq necesitas crear otra lista???? no se puede hacer con la lista q ya tienes ahi???? algo asi como:

    Iterator it = lista.iterator();

    Edward

    May 24, 2009 at 9:21 am

  9. No entiendo la linea promedio(int calif1, int calif2, int calif3)ñ
    es decir va al metodo promedio hace las operaciones con los datos pasados por parametro y le asigna el prom a promedio,es eso
    ??
    y otra duda xq en el while no se le pone corhcetes, pense q era medio obigatorio!
    Gracias
    PD CONTESTENME LA PREGUNTA PORFIS

    Juanl

    June 20, 2009 at 7:52 am

    • Si, en el método promedio se hacen las operaciones y luego regresa el resultado.

      Y si te refieres a este while(op != 2);

      No tiene llaves por que es una sentencia do – while, que quiere decir que hará lo que este en do mientras no se cumpla lo que este en while, en este caso que op sea diferente de 2, cuando op sea un 2 terminara de hacer lo de do para seguir con lo demás.

      linkcode

      June 21, 2009 at 3:18 pm

  10. Muy buen aporte estoy aciendo un paint y esta estructura de ArrayList la quiero usar…. ahora ya la entiendo mejor… muy buen ejemplo… sencillo pero totalmente comprensible…..

    esta padrote!!! gracias

    elvitormix

    October 5, 2009 at 8:53 pm

  11. k onda carnal chido ejemplo . tengo una duda que es y de donde sacas eso de:
    Scanner leer = new Scanner(System.in);
    de donde sacas la clase Scanner???

    SIX

    November 15, 2009 at 12:31 am

  12. Scanner es una clase del paquete java.util que puede se usada en vez del BufferedReader y se encuentra a partir de la versión 5 de java. Es decir, se escribe para leer desde teclado:
    InputStreamReader is=new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(is);
    System.out.print(“Ingrese el texto”);
    String texto = br.readLine();
    System.out.println(“El texto es: ”+ texto);
    Con Scanner se muestra en el código anterior.

    Candix

    November 19, 2009 at 11:01 am

  13. soy jonathan Chavez con este codigo pase mi cursso solo lo copie y pege

    jonathan

    November 22, 2009 at 10:57 am

  14. iio estoii usando java eclipse
    pero no me corre
    el programas me marca errores
    en las primeras lineas

    public class NodoLista4{
    String nom;

    int calif1;
    int calif2;
    int calif3;

    import java.util.*;

    public class ListaAlumnos{

    y no se lo he podido corregir necesito ayuda pliiis!!!!!

    contesttaaa =)

    Mario

    November 23, 2009 at 10:09 pm

    • asi ya te debe correr

      import java.util.*;
      public class ListaAlumnos{

      public static void main( String args[] ){
      Scanner leer = new Scanner(System.in);
      class NodoLista4{
      String nom;

      }

      NodoLista4 nodo = new NodoLista4();
      int op;
      ArrayList lista = new ArrayList();
      do{
      System.out.println( “Ingrese el nombre del alumno:” );
      nodo.nom = leer.next();
      lista.add(“Nombre del alumno:\n”+nodo.nom);
      System.out.println( “Desea ingresar otro alumno?” );
      System.out.println( “1.-Si\t 2.-No” );
      op = leer.nextInt();
      }
      while(op != 2);
      List lista2 = new ArrayList(lista);
      Iterator it = lista2.iterator();
      while (it.hasNext()){
      System.out.println(it.next()+””);

      }
      }
      }

      Carlos

      April 14, 2011 at 1:55 pm

  15. Hola lo q pasa es q tengo q hacer una nomina de empleados con array list pero no se como. si pueden ayudarme les agradecere mucho.
    por otra parte el codigo antes mencionado no me corre en el netbeans muestra miles de errores mi explican pliiisss.
    Dios les Bendiga.

    Mary

    November 26, 2009 at 7:14 am

  16. package pe.com.telmex.prueba;

    import java.awt.Dimension;

    import java.awt.Rectangle;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import java.util.*;

    import javax.swing.JButton;
    import javax.swing.JFrame;

    public class wLista extends JFrame {
    private JButton jButton1 = new JButton();

    public wLista() {
    try {
    jbInit();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    private void jbInit() throws Exception {
    this.getContentPane().setLayout( null );
    this.setSize(new Dimension(122, 64));
    jButton1.setText(“jButton1″);
    jButton1.setBounds(new Rectangle(5, 5, 71, 23));
    jButton1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    jButton1_actionPerformed(e);
    }
    });
    this.getContentPane().add(jButton1, null);
    }

    private void jButton1_actionPerformed(ActionEvent e) {
    ArrayList arrList = new ArrayList();
    arrList.add(“Alan”);
    arrList.add(“Jose”);
    arrList.add(“Ruben”);

    Iterator it = arrList.iterator();
    while(it.hasNext() ){
    System.out.println(it.next());
    }
    }

    public static void main(String args[]){
    wLista wList = new wLista();
    wList.show();
    }
    }

    rugarmen

    December 8, 2009 at 1:12 pm

  17. me podrias explicar todas las lineas no intiendo ya que estoy estudiando jjav a

    rela

    January 28, 2010 at 2:21 pm

  18. hola soy nuevo en java como uso esa clase nodolista4
    o como cambio el programa para utilizar esas propiedades

    erick

    February 19, 2010 at 5:13 pm

  19. chupenlo que saen

    johan

    April 13, 2010 at 6:43 pm

  20. Excelente codigo, me ayudo mucho a comprender los ArrayList.

    Albert

    April 26, 2010 at 10:10 am

  21. Excelente ejemplo, se agradece :).

    Carlos

    July 8, 2010 at 3:23 am

  22. hola disculpen soy nuevo en java como otras personas pero casi no le entiendo como crear un programa que de la cantidad de i tanto que los llene como los imprima
    plis ayudenme ya e intentado pero no le hayo jeje
    gracias espero y puedan ayudarme

    chiokis

    September 27, 2010 at 12:21 am

  23. gracias amigo, tu explicacion estuvo muy buena y al fin lo pude entender todo…el profesor no explica nadaaa

    javier

    February 27, 2011 at 8:12 pm

  24. Excelente tu ejemplo y codigo para uso de listas, recien estoy viendo el tema y tu ejemplo me ha servido bastante para entenderlo bien :)

    Rafael Carrillo

    March 24, 2011 at 10:17 am

  25. no entiendo esta linea de codigo si puedes explicarla seria bueno
    promedio(nodo.calif1, nodo.calif2, nodo.calif3);

    rey

    April 1, 2011 at 8:47 am

  26. Hola, muy buen ejemplo, me sirvió tanto que hice una práctica tomándolo como base, de la que comparto el enlace: https://docs.google.com/document/d/15q4ZgtoxXCWCQSPuOmaTvADF34KEj5niwegJQ_nQh48/edit?hl=es

    • Exelente trabajo!!! Una extensión super prólija a este articulo.
      Me lo guardo!!! Gracias

      Jorge Gonzalez

      December 3, 2012 at 7:21 pm

  27. System.out.println( “Ingrese el nombre del alumno:” );
    nodo.nom = leer.next();
    System.out.println( “Ingrese la primera calificación:” );
    nodo.calif1 = leer.nextInt();
    ————————————————————————————————–
    Ingrese el nombre del alumno:
    Pablo Perez
    Ingrese la primera calificación:
    Exception in thread “main” java.util.InputMismatchException
    at java.util.Scanner.throwFor(Unknown Source)
    at java.util.Scanner.next(Unknown Source)
    at java.util.Scanner.nextInt(Unknown Source)
    at java.util.Scanner.nextInt(Unknown Source)

    Pablo Perez

    December 4, 2011 at 2:42 pm

  28. //una observacion en esta linea de codigo que pusiste:
    promedio(nodo.calif1, nodo.calif2, nodo.calif3);

    //va de la siguiente manera:
    prom = promedio(nodo.calif1, nodo.calif2, nodo.calif3);

    //y ahora si creo que tendria mas sentido la siguiente linea
    lista.add(“Su promedio es:\n”+prom);

    jsr7

    January 14, 2012 at 10:46 pm

  29. sorry no se que estoy haciendo mal tengo un error al compilar y lo copie exactamente igual m marca el error al principo en nodolista4. gracias¡ :D

    luis

    April 11, 2012 at 6:33 pm

    • No hay que copiar y pegar.. Trata de comprenderlo escribiendolo desde 0, y arribita viene la solución a tu problema.

      Cyko

      May 7, 2012 at 4:31 pm

  30. gracias excelente ejemplo, muy claro, gracias por compartir tus conocimientos

    sagat

    May 13, 2013 at 10:01 am

  31. Excelente código y por supuesto mejor la iniciativa de compartirla con todos. Mil gracias.

    En mi opinión quien lo entienda rápidamente y le parezca sencillo, simplemente no insulte, en mi parecer es poco cortés ya que no conozco quien se las sepa todas.

    Saludos!

    Leonardo Yepez

    August 1, 2013 at 1:26 pm


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: