es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Llamar al valor de un HashMap desde otro método

Estoy tratando de llamar los valores del hashmap desde otro método. Necesito que en lugar de imprimir "YES" cuando se haya llamado a TW en ref, se impriman los valores 1, "Twin", 200, 200. Sin embargo, ten en cuenta que tengo que dejar setupMuseum como private. He intentado diferentes enfoques pero cada vez he obtenido un error.

“`java
private void setupMuseum() {
HashMap<string, museum=""> Museo = new HashMap<string, museum="">();
Museo.put("TW", new MUSEUM(1, "Twin", 200, 200));
}

“`java
public String getMuseumDetails(String ref) {
if (“TW”.equals(ref) ){
System.out.println(“YES”);
}else
return “!”;

return "\nNo existe tal cosa";

}
“`</string,></string,>

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para llamar a los valores del hashmap desde otro método, puedes modificar setupMuseum() para que devuelva el HashMap en lugar de mantenerlo como privado. Luego puedes llamar a getMuseumDetails(String ref) con el parámetro ref y recuperar el objeto MUSEUM correspondiente del HashMap devuelto usando get(ref). Aquí tienes un ejemplo de implementación:

    public class MuseumManager {
        private HashMap<string, museum=""> setupMuseum() {
            HashMap<string, museum=""> museumMap = new HashMap<string, museum="">();
            museumMap.put("TW", new MUSEUM(1, "Twin", 200, 200));
            return museumMap;
        }
    
        public String getMuseumDetails(String ref) {
            HashMap<string, museum=""> museumMap = setupMuseum();
            if (museumMap.containsKey(ref)) {
                MUSEUM museum = museumMap.get(ref);
                return museum.getID() + ", \"" + museum.getName() + "\", " + museum.getWidth() + ", " + museum.getHeight();
            } else {
                return "!"; // o lanzar una excepción si ref no es válido
            }
        }
    }
    

    En el código anterior, setupMuseum() ahora devuelve el objeto HashMap creado en lugar de guardarlo como un campo privado. En getMuseumDetails(String ref), llamamos a setupMuseum() para obtener el HashMap y luego usamos containsKey(ref) para verificar si el ref proporcionado es válido. Si es válido, recuperamos el objeto MUSEUM correspondiente usando get(ref) y devolvemos sus propiedades en el formato deseado. Si no, devolvemos ! para indicar un error (o puedes lanzar una excepción en su lugar). Ten en cuenta que puedes modificar el formato de la cadena devuelta según lo desees.</string,></string,></string,></string,>

Comments are closed.