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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  JAVA - ArrayList - Iterator - Error en consola
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: JAVA - ArrayList - Iterator - Error en consola  (Leído 4,317 veces)
Santi73Arg

Desconectado Desconectado

Mensajes: 2


Ver Perfil
JAVA - ArrayList - Iterator - Error en consola
« en: 21 Octubre 2017, 20:37 pm »



Hola chicos

Como les va?
Tengo una pregunta media idiota que la verdad me esta sacando la cabeza y no se si no logro ver algo realmente básico (me estoy ahogando en un vaso de agua o es mas complicado), o algo mas complejo...

Tengo la siguiente Clase Bebidas:

Código
  1.  
  2. public class Bebidas{
  3.  
  4.  
  5. private String nombre;
  6. private float costo;
  7.  
  8.  
  9. public String getNombre() {
  10. return nombre;
  11. }
  12. public void setNombre(String nombre) {
  13. this.nombre = nombre;
  14. }
  15. public float getCosto() {
  16. return costo;
  17. }
  18. public void setCosto(float costo) {
  19. this.costo = costo;
  20. }
  21.  
  22.  
  23. }
  24.  

Y la clase main:

Código
  1. public class pruebasMAIN {
  2.  
  3. static ArrayList<Bebidas> bebidalist = new ArrayList<Bebidas>();
  4. static int nbotella;
  5. static Scanner keyboard = new Scanner (System.in);
  6.  
  7.  
  8. public static void main(String[] args) {
  9.  
  10. System.out.println("Ingrese cantidad");
  11. nbotella = keyboard.nextInt();
  12. keyboard.nextLine();
  13.  
  14.  
  15.  
  16. for (int i = 0; i < nbotella; i++){
  17.  
  18.       System.out.println("Ingresar el nombre de la bebida "+ (i+1));
  19. String botellabebida=keyboard.nextLine();
  20. System.out.println("Ingresar el Costo de la bebida "+ (i+1));
  21. float costobebida=keyboard.nextFloat();
  22. keyboard.nextLine();
  23.  
  24. Bebidas pruebatest = new Bebidas();
  25. pruebatest.setNombre(botellabebida);
  26. pruebatest.setCosto(costobebida);
  27.  
  28. bebidalist.add(pruebatest);
  29.  
  30.  
  31. }
  32.  
  33. Iterator<Bebidas> nombinterator = bebidalist.iterator();
  34. while(nombinterator.hasNext()){
  35. Bebidas elemento = nombinterator.next();
  36. System.out.print(elemento+" / ");
  37. }
  38. }
  39. }

Y en consola me muestra lo siguiente....:

Código
  1. Ingrese cantidad
  2. 2
  3. Ingresar el nombre de la bebida 1
  4. asdasd
  5. Ingresar el Costo de la bebida 1
  6. 300
  7. Ingresar el nombre de la bebida 2
  8. ffffff
  9. Ingresar el Costo de la bebida 2
  10. 200
  11. pruebas.prueba@28d93b30 / pruebas.prueba@1b6d3586 /


No entiendo porque me muestra eso....  "pruebas.prueba@28d93b30 / pruebas.prueba@1b6d3586 /"  es como si no guardara los parámetros que le mando a la clase Bebidas... y me devuelve algo por defecto del IDE.
Capaz estoy haciendo algo mal...

ya intente instanciando bebidas como un objeto global <static Bebidas bebida = new Bebidas();>
Pero tampoco así...
Sera algo malo en la clase o bien en el iterator ???

Gracias


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: JAVA - ArrayList - Iterator - Error en consola
« Respuesta #1 en: 21 Octubre 2017, 21:12 pm »

¿Cómo se supone que se debería ver tu clase "Bebidas" por pantalla?

Eso Java no lo sabe.

Cuando haces elemento+" / ", lo que realmente haces es elemento.toString() + " / ". Esa función toString (de la clase Object), por defecto, devuelve lo que ves.

Si quieres devolver tu propio valor, tienes que implementar tú la función:
Código
  1. @Override
  2. public String toString() {
  3.  
  4. }

Y ahí ya devuelves lo que quieras.


En línea

Santi73Arg

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: JAVA - ArrayList - Iterator - Error en consola
« Respuesta #2 en: 22 Octubre 2017, 01:57 am »

¿Cómo se supone que se debería ver tu clase "Bebidas" por pantalla?

Eso Java no lo sabe.

Cuando haces elemento+" / ", lo que realmente haces es elemento.toString() + " / ". Esa función toString (de la clase Object), por defecto, devuelve lo que ves.

Si quieres devolver tu propio valor, tienes que implementar tú la función:
Código
  1. @Override
  2. public String toString() {
  3.  
  4. }

Y ahí ya devuelves lo que quieras.

Dios tenes razon! que idiotes fue, como no me di cuenta   :-[

Muchas gracias sos un genio !
En línea

rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: JAVA - ArrayList - Iterator - Error en consola
« Respuesta #3 en: 23 Noviembre 2017, 05:30 am »

Dios tenes razon! que idiotes fue, como no me di cuenta   :-[

Muchas gracias sos un genio !

hay tienes un ejemplillo aleatorio  :-X

Código
  1. package testing.foro;
  2.  
  3. import java.text.SimpleDateFormat;
  4. import java.util.*;
  5.  
  6. public class Exec {
  7.  
  8. private static final Random R = new Random();
  9. private static final Scanner LEER = new Scanner(System.in);
  10. private static final String NAMES[] = {"Coca-cola","Pepsi","Gatorade","PoweRade","RedBull"};
  11. private static final float COSTO[] = new float[]{45.5f, 500.9f, 99.99f,100f,500f,985.66f};
  12. private static List<Bebidas> bebidas = new ArrayList<>();
  13. private static Bebidas bebida;
  14. private static final String FECHA = new SimpleDateFormat("dd MMM. yyyy hh:mm:ss a").format(new Date());
  15. private int nBebidas;
  16.  
  17. public Exec() {
  18. init();
  19. }
  20. private void init() {
  21. print(FECHA+"\n");
  22. print("Introduce numero de bebidas: ");
  23. nBebidas = LEER.nextInt();
  24. print("presiona cualquier tecla para empezar... "+"\n");
  25. LEER.hasNext();
  26. for(int f=0; f<nBebidas; f++) {
  27. bebida = new Bebidas();
  28. print("Ingrese Nombre de la bebida: ");
  29. bebida.setNombre(NAMES[R.nextInt(NAMES.length)]);
  30. print(bebida.getNombre()+"\n");
  31. print("Ingrese Costo de la bebida: ");
  32. bebida.setCosto(COSTO[R.nextInt(COSTO.length)]);
  33. print(""+bebida.getCosto()+"\n");
  34. bebidas.add(bebida);
  35. }
  36. print("\nBebidas Adquiridas son las siguientes:.");
  37. bebidas.stream().forEach(b -> print(b));
  38.  
  39. }
  40. private static <T> void print(final T s){System.out.print(s);}
  41. public static void main(String[] args) {
  42. new Exec();
  43. }
  44.  
  45. }
  46.  
  47.  

Código
  1. 22 nov. 2017 11:57:31 PM
  2. Introduce numero de bebidas: 3
  3. presiona cualquier tecla para empezar...
  4.  
  5. a
  6. Ingrese Nombre de la bebida: Gatorade
  7. Ingrese Costo de la bebida: 985.66
  8. Ingrese Nombre de la bebida: Pepsi
  9. Ingrese Costo de la bebida: 100.0
  10. Ingrese Nombre de la bebida: PoweRade
  11. Ingrese Costo de la bebida: 500.9
  12.  
  13. Bebidas Adquiridas son las siguientes:.
  14. Nombre: Gatorade
  15. Costo: 985.66
  16. Nombre: Pepsi
  17. Costo: 100.0
  18. Nombre: PoweRade
  19. Costo: 500.9
  20. Process finished with exit code 0
« Última modificación: 5 Diciembre 2017, 04:05 am por rub'n » En línea

rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
java ArrayList en C++
Programación C/C++
<<<-Basura->>> 5 8,925 Último mensaje 4 Abril 2013, 21:48 pm
por naderST
Arraylist de java en c++
Programación C/C++
alvar0ne 0 1,713 Último mensaje 7 Mayo 2013, 05:26 am
por alvar0ne
Duda iterator // Vector iterator not decrementable
Programación C/C++
cazagavilan 4 2,544 Último mensaje 14 Agosto 2013, 13:17 pm
por frankener1986
busqueda elemento ArrayList java
Java
gmc7 0 1,867 Último mensaje 22 Diciembre 2013, 13:43 pm
por gmc7
Java ArrayList « 1 2 »
Java
josephb401 12 6,247 Último mensaje 23 Noviembre 2015, 17:57 pm
por josephb401
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines