Java - AL IMPRIMIR POR PANTALLA MI OBJETO ME APARECE DE ESTA FORMA: nombrePaquete.nomreDeLaClase@numero

 
Vista:

AL IMPRIMIR POR PANTALLA MI OBJETO ME APARECE DE ESTA FORMA: nombrePaquete.nomreDeLaClase@numero

Publicado por Camila (1 intervención) el 26/04/2015 08:19:26
Hola, necesito ayuda sobre un sistema.
Mi problema es al imprimir un objeto de una clase.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Item  {
	private int numero;
	private float tiempoArribo;
 
        public Item(int numero,float tiempoArribo){
		this.numero=numero;
		this.tiempoArribo=tiempoArribo;
	}
 
       ...
 }
public class Principal {
 
	public static void main(String[] args){
 
                Item inicio = new Item(1,0);
                System.out.println(inicio);
     .. }
...
}


El cual aparece de esta manera

> aeropuerto.Item@15db9742

Siendo:
"aeropuerto" un paquete
"Item" clase dentro del paquete aeropuerto

Por favor necesito una respuesta urgente.
No creo que haga falta todo el codigo. De ser asi, no tendria poblema en pasarlo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alberto
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

AL IMPRIMIR POR PANTALLA MI OBJETO ME APARECE DE ESTA FORMA: nombrePaquete.nomreDeLaClase@numero

Publicado por Alberto (303 intervenciones) el 26/04/2015 21:21:09
Hola...

Es correcto que te mande lo que observas por pantalla, ya que cuando nosotros mandamos a imprimir un objeto nos manda la referencia donde se encuentra esa objeto en el JVM, por lo tanto lo que se almacena en memoria es la referencia y/o dirección. Si lo que necesitas es ver los valores es necesario que tengas que reescribir el método toString() en tu clase.

1
2
3
public String toString(){
	return numero + tiempoArribo;
}

Posteriormente solo es cuestión de llamar el método en tu impresión.

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

AL IMPRIMIR POR PANTALLA MI OBJETO ME APARECE DE ESTA FORMA: nombrePaquete.nomreDeLaClase@numero

Publicado por Maverick (109 intervenciones) el 29/04/2015 00:17:49
Estimada Camila,

Disculpa la demora en contestar, veo que en tu clase Principal se debe solicitar los datos (package, simpleName, name) del objeto en cuestión:

Aquí esta el código solicitado (lineas abajo se encuentra las 2 clases), espero que te sirva, cualquier cosa no dudes en comunicarte conmigo a:

[email protected]

Saludos cordiales,

Manuel
Lima-Perú


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package aeropuerto;
 
/**
 *
 * @author Mavercik
 */
public class Item {
 
    private int numero;
    private float tiempoArribo;
 
    public Item(int numero, float tiempoArribo) {
        this.numero = numero;
        this.tiempoArribo = tiempoArribo;
    }
 
    /**
     * @return the numero
     */
    public int getNumero() {
        return numero;
    }
 
    /**
     * @param numero the numero to set
     */
    public void setNumero(int numero) {
        this.numero = numero;
    }
 
    /**
     * @return the tiempoArribo
     */
    public float getTiempoArribo() {
        return tiempoArribo;
    }
 
    /**
     * @param tiempoArribo the tiempoArribo to set
     */
    public void setTiempoArribo(float tiempoArribo) {
        this.tiempoArribo = tiempoArribo;
    }
 
}

-------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package main;
 
import aeropuerto.Item;
 
/**
 *
 * @author Maverick
 */
public class Principal {
 
    public static void main(String[] args) {
        Item inicio = new Item(1, 0);
        System.out.println(inicio);
        Class c1 = inicio.getClass();
        System.out.println("Paquete: " + c1.getPackage() + "\nClase: " + c1.getSimpleName() + "\nIdentificacion Completa: " + c1.getName());
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar