Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Hashmap值生成一个新的Double_Java - Fatal编程技术网

Java 从Hashmap值生成一个新的Double

Java 从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(

我得到以下错误:

找不到符号,符号:变量值,位置类型为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("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()]);