【发布时间】:2017-03-06 13:28:15
【问题描述】:
我正在尝试返回数组中的正数。我是数组新手,无法弄清楚。
public class PossitiveArray
{
public static void main(String[] args) {
int[] numbers = {2,-1,5,-4,3};
System.out.print(numbers);
}
public static int[] getPositiveNumbers(int[] numbers)
{
for (int n : numbers)
{
if(n>0)
{
int [] nums = numbers;
}
}
return nums;
}
}
分析- 这就是我想出的。就像现在一样,它给了我一个错误,说我需要为 nums 创建一个局部变量,但是当我这样做时,它返回“[I@677327b6”。我试图让它返回数字,但我不确定在 if 语句中放入什么。
必填- 目标是只返回正数。任何帮助将不胜感激,我对数组和编程非常了解。
【问题讨论】:
-
鉴于您想要做的事情,
int[] nums = numbers;行没有任何意义。它只是复制整个数组。更好的方法是创建一个本地ArrayList<int>并将您想要的数字添加到其中(在for循环中)。如果您确实需要将其作为数组返回,请在返回之前调用其toArray方法。
标签: java arrays if-statement for-loop return