无法将double转换为double []错误

时间:2015-04-04 05:20:13

标签: java arrays arraylist double incompatibletypeerror

对于一个项目,我必须将一个字符串数组拆分成单独的数字,然后通过将数字解析成一个双数组来设置一个序列。

这是我到目前为止的代码:

import java.util.ArrayList;

public class Sequence
{
   // the numbers in the sequence
   private double[] sequence;

   // sets up sequence by parsing s 
   public Sequence(String s)
   {
       String[] numbers = s.split(", ");
       double[] storage = new double [numbers.length];
       for (int x = 0; x < numbers.length; x = x+1) {
       storage = Double.parseDouble(numbers[x]);
      }
  }

出于某种原因,当我尝试编译时,我收到错误

不兼容的类型:double无法转换为double []

我在网上寻找解决方案,但我是Java的初学者,真的不知道该怎么做。

为什么我会收到此错误以及如何解决此问题,尤其是在不必添加其他我不理解的方法的情况下?

提前致谢

3 个答案:

答案 0 :(得分:2)

待办事项

storage[x] = Double.parseDouble(numbers[x]);

来自docs

  

public static double parseDouble(String s)

     

返回初始化为该值的新double   由指定的String表示,由valueOf执行   类Double的方法。

存储是一个数组,因此编译器会说incompatible types:double cannot be converted to double[]。您可以通过指定数组索引storage[index]逐个存储每个元素。

答案 1 :(得分:0)

storage是您存储内容的数组。它的类型为double[]。您正在做的是通过调用此声明将double分配给double[]

storage = Double.parseDouble(numbers[x]);

您希望将每个单独的元素存储在存储数组中,作为数字数组中某些其他元素的解析结果。请改用此语法:

storage[x] = Double.parseDouble(numbers[x]);

答案 2 :(得分:0)

storage是一个包含double值的Array,而Double.parseDouble返回一个double,因此你应该使用

storage [x] = Double.parseDouble(numbers [x]);