0

我收到以下错误:

找不到符号,符号:变量值,位置 Map<String,Double> 类型的变量星球

在这条线上Double[] Total = new Double [planet.values];

这是我的代码:

public static void main(String[] args) {

    Map<String, Double> planet = new HashMap();

    Double Weight = 205.00;

    planet.put("Earth", 1.00);
    planet.put("Moon", .378);
    planet.put("Mercury", .166);
    planet.put("Jupiter", 2.364);
    planet.put("Venus", .907);
    planet.put("Uranus", .889);

    System.out.println("Amount of gravity on each planet: " + planet + "\n");  


    Double[] Total = new Double [planet.values];
    System.out.println(planet.values());
4

2 回答 2

1

Map 没有任何名为 的公共字段value。所以planet.value无效。如果要初始化一个长度等于地图大小的数组,请使用size()

Double[] total = new Double[planet.size()];

另外,请尊重 Java 命名约定。变量以小写字母开头。

于 2013-03-09T19:14:10.463 回答
0

只需将其更改为planet.values()而不是“planet.values”,您就可以尝试访问不调用该方法的字段。

所以这将是你的代码:

Collection<Double> values = planet.values();
Double[] total = values.toArray(new Double[values.size()]);

顺便说一句,数组的toString()方法不会呈现值。如果要将值写入控制台,请使用Arrays.toString(array).

于 2013-03-09T19:19:59.247 回答