Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Santi73Arg

#1
Cita de: ivancea96 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 (java) [Seleccionar]
@Override
public String toString() {

}


Y ahí ya devuelves lo que quieras.

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

Muchas gracias sos un genio !
#2


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 (java) [Seleccionar]


public class Bebidas{


private String nombre;
private float costo;


public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public float getCosto() {
return costo;
}
public void setCosto(float costo) {
this.costo = costo;
}


}


Y la clase main:

Código (java) [Seleccionar]
public class pruebasMAIN {

static ArrayList<Bebidas> bebidalist = new ArrayList<Bebidas>();
static int nbotella;
static Scanner keyboard = new Scanner (System.in);


public static void main(String[] args) {

System.out.println("Ingrese cantidad");
nbotella = keyboard.nextInt();
keyboard.nextLine();



for (int i = 0; i < nbotella; i++){

          System.out.println("Ingresar el nombre de la bebida "+ (i+1));
String botellabebida=keyboard.nextLine();
System.out.println("Ingresar el Costo de la bebida "+ (i+1));
float costobebida=keyboard.nextFloat();
keyboard.nextLine();

Bebidas pruebatest = new Bebidas();
pruebatest.setNombre(botellabebida);
pruebatest.setCosto(costobebida);

bebidalist.add(pruebatest);


}

Iterator<Bebidas> nombinterator = bebidalist.iterator();
while(nombinterator.hasNext()){
Bebidas elemento = nombinterator.next();
System.out.print(elemento+" / ");
}
}
}


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

Código (java) [Seleccionar]
Ingrese cantidad
2
Ingresar el nombre de la bebida 1
asdasd
Ingresar el Costo de la bebida 1
300
Ingresar el nombre de la bebida 2
ffffff
Ingresar el Costo de la bebida 2
200
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