我正在构建一个方法,它接受参数,十进制数组和小数阈值。该方法应输出列表中所有大于阈值的数字。
我的计划是执行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");
}
}
}
答案 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