繁体   English   中英

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

[英]Adding/Appending elements to an array - 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");
            }
    }
}

您的列表实际上是一个数组( double[] ),它不是使用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

Java中没有为数组add方法的方法。 您应将清单声明为:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM