java - 在 Java 中使用列表

标签 java list

所以我有一个问题,我不会详细讨论这个问题,因为我设法将它正确地编码到一个数组中。或者至少,将其编码到一个可以正常工作的数组中;如下:

static double getSolution (int n)
{
   double [] w = new double [n];
   w[0] = -1;
   for (int i = 0; i < n; i++)
   {
       w[i + 1] = w[i] + (( 2 / 3*n ) * Math.cos (w[i]) );           
    }
    double x = w[n];
    return x;
}

然后我发现我并不是要使用数组对其进行编码,而是使用列表。我试过了,下面是我想出的代码:

static double getSolution1 (int n)
{
    List <double> w = new ArrayList <double>();
    w[0] = -1;
    for (int i = 0; i < n; i++)
    {
        w[i+1] = w[i] + ((2 / 3*n ) * Math.cos (w[i]) );
    }
    return w[n];
}

现在我知道这从一开始就是错误的,但是有人能告诉我我哪里做错了什么吗?还;尝试编译时,我收到错误消息“找不到符号 - 类列表”。

编辑 1:我已经尝试将行更改为 Double 而不是许多人建议的 double,但我仍然遇到完全相同的编译错误。

编辑 2:因此,如果我要将数组转录成列表,正确的代码是什么?因为我真的很困惑我应该如何写出来。

最佳答案

使用

List <Double> w = new ArrayList <Double>();

代替

List <double> w = new ArrayList <double>();

double 是原始类型,但列表只接受对象,因此使用 DoubleDouble 是原始类型 double 的包装器。

编辑:

w[0] this is not list operation so if you are using this type of operation to access element you should use array. else mperform add remove operations 

检查列表操作:http://docs.oracle.com/javase/6/docs/api/java/util/List.html

你必须为包声明导入语句

import java.util.List;
import java.util.ArrayList;


所以你的方法变成了
使用数组

static double getSolution1 (int n)
{
    Double[] w = new Double[n+1];
    w[0] = -1d;
    for (int i = 0; i < n; i++)
    {
        w[i+1] = w[i] + ((2 / 3*n ) * Math.cos (w[i]) );
    }
    return w[n];
}

使用列表

static double getSolution1(int n) {
    List<Double> w = new ArrayList<Double>();
    w.add(-1d);
    for (int i = 0; i < n; i++) {
        double d = w.get(i) + ((2 / 3 * n) * Math.cos(w.get(i)));
        w.add(d);
    }
    return w.get(n);
}

关于java - 在 Java 中使用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21105866/

相关文章:

java - 在 Theme.AppCompat.Light 中添加图标

python - 如何强制列表为固定大小?

list - haskell 函数的时间复杂度

java - 在 List<Integer> 上使用 set 方法会导致不支持的操作异常

Python 在列表中查找对象

Java字符串长度方法

java - 如何检查某些事件中经过了多少毫秒(java)

java - 如何使用 AsynchronousFileChannel 有效地读取到 StringBuffer

java - 为什么 Object 成员变量在 Java 中不能既是 final 又是 volatile?

c++ - C++中的链表相乘