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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema de mostrar una lista
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema de mostrar una lista  (Leído 2,913 veces)
Aeros

Desconectado Desconectado

Mensajes: 199


Ver Perfil
Problema de mostrar una lista
« en: 9 Agosto 2010, 07:59 am »

Hola que tal

tengo esta clase vendedor:

Código
  1. package Alan;
  2. import java.util.*;
  3.  
  4. public class Vendedor {
  5. public List <Vendedor> ListaVendedores = new ArrayList<Vendedor>();
  6. public String Nombre;
  7. public int AutosVend;
  8.  
  9. public Vendedor(String Nombre, int AutosVend)
  10. {
  11. this.Nombre = Nombre;
  12. this.AutosVend = AutosVend;
  13. }
  14.  
  15. public void AgregarVendedor(){
  16. ListaVendedores.add(new Vendedor(Nombre, AutosVend));
  17. }
  18.  
  19. public void  MostrarVendedores(){
  20. Iterator iter = ListaVendedores.iterator();
  21. while (iter.hasNext())
  22.  System.out.println(iter.next());
  23.  
  24. }
  25. }
  26.  

Y lo que quiero es que agregue un objeto Vendedor al ArrayList de tipo Vendedor y despues Mostrarlos:
Código
  1. package Alan;
  2. import java.util.*;
  3. public class main {
  4.  
  5.  
  6. public static void main(String[] args) {
  7. Vendedor[] v = new Vendedor[3] ;
  8. v[0] = new Vendedor("Pepe",3);
  9. v[1] = new Vendedor("Fede", 4);
  10. v[2] = new Vendedor ("Alan",5);
  11. v[0].AgregarVendedor();
  12. v[1].AgregarVendedor();
  13. v[2].AgregarVendedor();
  14. v[0].MostrarVendedores();
  15. v[1].MostrarVendedores();
  16. v[2].MostrarVendedores();
  17. }
  18.  
  19. }
  20.  
  21.  

y me sale esto por consola :(

Código:
Alan.Vendedor@19821f
Alan.Vendedor@addbf1
Alan.Vendedor@42e816


Gracias!


En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Problema de mostrar una lista
« Respuesta #1 en: 9 Agosto 2010, 08:20 am »

Hola, estas algo mál enfoncado.

Primero que nada
Cuando tu imprimes el valor de un objeto, no saldra su contenido si no saldra el nombre de la clase y un valor.
Ahora eso se puede arreglar
en la clase Vendedor tu defines , por ejemplo:
Código
  1. public Strint toString(){
  2. return Nombre;
  3. }
  4.  
Que cada vez que imprimas un objeto vendedor, saldra el nombre.

Ahora sobre la lista, debes darte cuenta que esa lista es unica y exclusivamente para 1 vendedor (osea el objeto) esta no se comparte a nadie más. Ahora si tu deseas compartirla debes usar el modificador static que hara tu variable de ambito local a global (para la clase)
Prueba esto.
Código
  1. public static List <Vendedor> ListaVendedores = new ArrayList<Vendedor>();
Código
  1. public static void main(String[] args) {
  2. Vendedor[] v = new Vendedor[3] ;
  3. v[0] = new Vendedor("Pepe",3);
  4. v[1] = new Vendedor("Fede", 4);
  5. v[2] = new Vendedor ("Alan",5);
  6. v[0].AgregarVendedor();
  7. v[1].AgregarVendedor();
  8. v[2].AgregarVendedor();
  9. v[0].MostrarVendedores();
  10. }
Y saldran todos los vendedores :D

Saludos!


En línea

Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: Problema de mostrar una lista
« Respuesta #2 en: 9 Agosto 2010, 11:49 am »

Hola , me parece que estás  un poco confundido con el concepto POO , no es correcto que la
clase vendedor tenga una lista de vendedores, una clase es la representación de un objeto, además ,
public List <Vendedor> ListaVendedores = new ArrayList<Vendedor>(); solo se llena con un objeto cada vez
y aparte creas el Vector de vendedores , creo que lo correcto es plantearlo de la siguiente manera .

Lo que te contesto egyware es correcto ,  debes sobreescribir el método toString() heredado de Object para
que cuando hagas System.out.println(anOgject) imprima lo que deseas que imprima .

Tampoco es correcto usar palabras reservadas como nombres de variables o clases , en tu caso usaste "main2" como nombre de clase
mirate los code conventions de java , los encuentras en el siguiente enlace

http://www.oracle.com/technetwork/java/codeconv-138413.html

Código
  1. import java.util.*;
  2.  
  3. class Vendedor {
  4. public String nombre;
  5. public int autosVend;
  6.  
  7. public Vendedor(String nombre, int autosVend){
  8. this.nombre = nombre;
  9. this.autosVend = autosVend;
  10. }
  11.  
  12. public String toString(){
  13. return (this.getNombre() + " ha vendido " + this.getAutosVendidos()+ " carros");
  14. }
  15.  
  16. public String getNombre(){
  17. return this.nombre;
  18. }
  19. public int getAutosVendidos(){
  20. return this.autosVend;
  21. }
  22. }
  23.  
  24.  
  25. class ListaVendedores {
  26. private List listaVendedores ;
  27.  
  28. public ListaVendedores (){
  29. listaVendedores = new ArrayList();
  30. }
  31.  
  32. public void addVendedor(Vendedor v){
  33. this.listaVendedores.add(v);
  34. }
  35.  
  36. public void  mostrarVendedores(){
  37. Iterator iter = this.listaVendedores.iterator();
  38. while (iter.hasNext())
  39.  System.out.println(iter.next());
  40.  
  41. }
  42. }
  43.  
  44.  
  45. class Prueba2 {
  46.  
  47. public static void main(String[] args) {
  48. ListaVendedores listaV = new ListaVendedores();
  49. listaV.addVendedor(new Vendedor("Pepe",3));
  50. listaV.addVendedor(new Vendedor("Fede", 4));
  51. listaV.addVendedor(new Vendedor ("Alan",5));
  52.  
  53. //ahora mostramos los vendedores que tenemos en la lista
  54. listaV.mostrarVendedores();
  55. }
  56.  
  57. }
  58.  
« Última modificación: 9 Agosto 2010, 12:01 pm por Didacso » En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
Aeros

Desconectado Desconectado

Mensajes: 199


Ver Perfil
Re: Problema de mostrar una lista
« Respuesta #3 en: 10 Agosto 2010, 00:09 am »

bien aprendido :D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema al mostrar clientes airodump-ng!
Hacking Wireless
Shury1 7 5,549 Último mensaje 10 Octubre 2011, 15:22 pm
por adastra
funcion mostrar lista doble lenguaje c
Programación C/C++
spectrumni 2 3,631 Último mensaje 26 Enero 2012, 23:39 pm
por spectrumni
Mostrar en forma de lista! [solucionado]
Programación C/C++
;c1v!c 4 2,784 Último mensaje 30 Enero 2012, 14:36 pm
por ;c1v!c
Palabras Acentuadas problema al mostrar !
PHP
Diabliyo 9 5,224 Último mensaje 14 Noviembre 2014, 22:52 pm
por R2100
Recorrer lista y mostrar datos de a ciertas cantidades fijas
Programación Visual Basic
RiasChan 7 2,392 Último mensaje 3 Noviembre 2020, 03:36 am
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines