我收到以下错误:
找不到符号,符号:变量值,位置变量行星类型Map<字符串,双>
在此行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());
答案 0 :(得分:1)
地图没有任何名为value
的公共字段。因此planet.value
无效。如果要初始化长度等于地图大小的数组,请使用size()
:
Double[] total = new Double[planet.size()];
另外,请尊重Java命名约定。变量以小写字母开头。
答案 1 :(得分:0)
只需将其更改为planet.values()
而不是'planet.values',即表示您正在尝试访问不调用该方法的字段。
所以这将是你的代码:
Collection<Double> values = planet.values();
Double[] total = values.toArray(new Double[values.size()]);
顺便说一下,数组的toString()
方法不会呈现值。如果要将值写入控制台,请使用Arrays.toString(array)
。