Java 从Hashmap值生成一个新的Double
我得到以下错误: 找不到符号,符号:变量值,位置类型为MapJava 从Hashmap值生成一个新的Double,java,Java,我得到以下错误: 找不到符号,符号:变量值,位置类型为Map 在这一行Double[]总计=新的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(
Double[]总计=新的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());
publicstaticvoidmain(字符串[]args){
Map planet=newhashmap();
双倍重量=205.00;
行星。put(“地球”,1.00);
行星。put(“月亮”,第378页);
行星。放置(“水星”,第166页);
行星。put(“木星”,2.364);
行星。put(“金星”,.907);
行星.put(“天王星”,.889);
System.out.println(“每个行星上的重力量:“+planet+”\n”);
Double[]总计=新的Double[行星值];
System.out.println(planet.values());
地图没有任何名为value
的公共字段。因此planet.value
无效。如果要初始化长度等于地图大小的数组,请使用size()
:
另外,请遵守Java命名约定。变量以小写字母开头。只需将其更改为planet.values()
,而不是“planet.values”,您正在尝试访问字段而不调用该方法
这就是你的代码:
Collection<Double> values = planet.values();
Double[] total = values.toArray(new Double[values.size()]);
Collection values=planet.values();
Double[]total=values.toArray(新的Double[values.size()]);
顺便说一下,数组的toString()
方法不会呈现值。如果要将值写入控制台,请使用Arrays.toString(数组)
你到底在做什么?你是在试图把所有行星的重量相加吗?总之,值
不是HashMap
类中的一个字段,所以它是不正确的。我实际上希望将这些值乘以两倍的重量。
Collection<Double> values = planet.values();
Double[] total = values.toArray(new Double[values.size()]);