java 运行公共HashMap方法时遇到问题

ndh0cuux  于 2023-04-19  发布在  Java
关注(0)|答案(1)|浏览(102)

该方法的目的和目标是反向打印从<Key, Value><Value, Key>的哈希Map。**)where我在哪里得到错误
“* 类型lab8_Part3中的方法reverse(Map〈Integer,String〉)不适用于arguments()*"。
Eclipse建议的所有解决方案都导致错误,我被难倒了。感谢帮助

import java.util.HashMap;
import java.util.Map;

public class test {

    public static void main(String[] args) {
        reverse();
    }

    public Map<String, Integer> reverse(Map<Integer, String> map) {
        HashMap<String, Integer> reversed = new HashMap<String, Integer>();
        reversed.put("Eightenn", 18);
        reversed.put("Fifty", 50);
        reversed.put("neThreeTwo", 132);
        reversed.put("Ocho", 8);
        reversed.put("Forty-one", 41);
        System.out.println("Reversered map " + reversed);
        for(int key : map.keySet()) {
            String value = map.get(key);

            if(!reversed.containsKey(value)) {
                reversed.put(value, key);
            }
        }
        return reversed;
    }
}

该方法的目的和目标是反向打印从<Key, Value><Value, Key>的哈希Map。

kb5ga3dv

kb5ga3dv1#

reverse()方法需要Map<Integer, String>参数并返回一个Map<Integer, String>对象,但您调用它时没有任何参数,也没有分配对象。
我修改了你的代码,应该可以了。

import java.util.HashMap;
import java.util.Map;

public class test {

    public static void main(String[] args) {
        Map<Integer, String> original = new HashMap<Integer, String>();
        original.put(18, "Eightenn");
        original.put(50, "Fifty");
        original.put(132, "neThreeTwo");

        Map<String, Integer> reversed = reverse(original);
        System.out.println("Reversed map: " + reversed);
    }

    public static Map<String, Integer> reverse(Map<Integer, String> map) {
        Map<String, Integer> reversed = new HashMap<String, Integer>();
        for(int key : map.keySet()) {
            String value = map.get(key);
            reversed.put(value, key);
        }
        return reversed;
    }
}

相关问题