Devolver un HashMap en java

Salman. S

Actualmente soy nuevo en Java procedente de Python, y parece que no puedo averiguar cómo devolver un HashMap, intenté buscar en la web durante horas pero no pude encontrar nada que resolviera mi problema. Aquí está el código.

public HashMap<Integer, Character> dataset(String text) {
    for (int i = 0; i < text.length(); i++) {
        char value = text.charAt(i);
        
        HashMap<Integer, Character> dict = new HashMap<Integer, Character>();
        dict.put(i,  value);
        System.out.println(dict.getClass().getSimpleName());

        return dict; // Here's the error
    }
}


public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.print("Enter text: ");
    String text = sc.next();
    
    System.out.println("============================");
    
    System.out.println("1. Convert to uppercase");
    System.out.println("2. Conver to lowercase");
    System.out.println("3. Convert to a dataset");
    System.out.print("Enter selection:  ");
    String choice = sc.next();
    
    StringConverter obj = new StringConverter();
    
    switch(choice) {
    case "1":
        text = obj.upperCase(text);
        System.out.println("=====Converted to uppercase=====");
        System.out.println(text);
        break;
        
        
    case "2":
        text = obj.lowerCase(text);
        System.out.println("=====Converted to lowercase=====");
        System.out.println(text);
        break;
        
    case "3":
        obj.dataset(text);

        break;
        
    }
}

Incluso verifiqué dos veces para ver si la variable que estoy devolviendo es un HashMap o no.

aquí está la excepción.

Excepción en el hilo "principal" java.lang.Error: Problema de compilación no resuelto: este método debe devolver un resultado de tipo HashMap <Integer, Character>

Sé que esto podría ser un error de novato, pero después de horas de investigación no pude encontrar nada útil.

kopaka

Mueva su definición de dicty su returndeclaración fuera del ciclo, y debería estar bien (la primera antes de entrar, la última después de salir del ciclo).

En su código actual, returnno se garantiza que la declaración sea accesible (es decir, si su bucle ni siquiera se ingresó), que debe darse en una función no nula.

Además, su método llamaría returnen cada iteración hipotética, lo que significa que su método siempre terminará con la primera iteración. A returnconduce a la salida de la función, sin importar lo que venga después, lo que significa que su código no funcionaría como esperaba. Además, crearía múltiples HashMaps, ya que llama al constructor una vez por iteración.

public HashMap<Integer, Character> dataset(String text) {

    HashMap<Integer, Character> dict = new HashMap<Integer, Character>();

    for (int i = 0; i < text.length(); i++) {
        char value = text.charAt(i);
        dict.put(i,  value);
        System.out.println(dict.getClass().getSimpleName());
    }

    return dict; // Here's the error
}

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

TOP Lista

CalienteEtiquetas

Archivo