Estoy tratando de imprimir algo simple que dice: Hola hi hello , pero por alguna razón está imprimiendo lo que quiero pero obtengo algunos números en mi salida
Lo siento si es algo fácil de encontrar o arreglar, pero recién estoy comenzando con Java, así que soy un completo novato.
Mis archivos se ven como:
Ejemplo.java
public class Example { public static void main(String[] args){ Hola ho = new Hola("hola"); System.out.printf("%s hi hello", ho); } }Hola.java
class Hola { public String name; public Hola(String name){ this.name = name; } }Salida: Hola@7852e922 hola hola%
Tienes que usar ho.name :
System.out.printf("%s hi hello", ho.name); porque ho imprimirá la referencia del objeto y no el nombre.
Debe anular el método toString() de su clase Hola :
class Hola { public String name; public Hola(String name){ this.name = name; } @Override public String toString() { return this.name; } }