向数组添加/附加元素 - Java

时间:2012-11-25 14:58:05

标签: java

我正在构建一个方法,它接受参数,十进制数组和小数阈值。该方法应输出列表中所有大于阈值的数字。

我的计划是执行for循环并检查数组中的每个数字,如果该数字(i)大于阈值(x),则追加到我的结果列表。我的问题是我无法添加/附加到结果列表。

我有System.out.println("Nothing here");只是为了帮助我看看它是否真的经历了for循环,但是我的IDE说调用list.add(a[i]);是错误的。我是一个初学程序员,不知道如何解决这个问题。这是我的代码:

public class a10 {

    public static void main(String[] args) {
        double a[] = {42, 956, 3,4};
        threshold(a, 2);
    }

    public static void threshold(double[] a, double x){
        double list[] = {};

        for (double i:a){
            if (i<22){
                list.add(a[i]);
            }else{
                System.out.println("Nothing here");
            }
    }
}

2 个答案:

答案 0 :(得分:3)

您的列表实际上是一个数组(double[]),它是 NOT 一个方法add的对象。您应该将其视为常规数组(在您的情况下,您已初始化为空数组,这意味着您无法在其中设置任何元素)。

你应该做的是使用Lis的实际实现(例如ArrayList),然后你可以实际使用add方法:

 List<Double> result = new ArrayList<Double>();
 for (double i:a){
      if (i>x){ 
          list.add(a[i]);
      }else{
          System.out.println("Nothing here");
      }
 }

另请注意,您的号码为“22”(您应该使用x

答案 1 :(得分:0)

Java中的数组没有方法add。您应该将列表声明为:

List<Double> list = new ArrayList<Double>(); //or some other type of list