我想返回数组的奇数,但Eclipse似乎不接受我的返回array[i];
代码。我认为它需要返回一个完整的数组,因为我将一个数组设置为我的方法的参数。
正如我之前所说的,我需要传递一个数组并获得该数组的特定元素作为回报。即使我将该数组设为静态,如何返回单个元素?
编辑:好的,这就是:
public class newClass{
public static void main(String[] args)
{
int [] newArray= new int [4];
int [] array = {4,5,6,7};
newArray[0] = array[0]+array[1]+array[2]+array[3];
newArray[1] = array[0]*array[1]*array[2]*array[3];
newArray[2] = findOut(array);
}
public static int findOut (int [] array3)
{
int e1=0;
int e2=0;
for (int i=0; i<array3.length; i++)
{
if (array3[i]%2==0)
{
e1+=array3[i];
array3[i]=e1
return array3[i];
}
else
{
e2+=array3[i];
array3[i]=e2;
return array3[i];
}
}
}
}
我知道这里可能存在不止一些错误,但我正在研究它,我不仅会返回奇数,我还将它们加在一起。
答案 0 :(得分:10)
您的代码应如下所示:
public int getElement(int[] arrayOfInts, int index) {
return arrayOfInts[index];
}
这里的要点是方法返回类型,它应该与数组元素类型匹配,如果你在main()
工作 - 这个方法也必须是静态的。
答案 1 :(得分:3)
我想返回数组的奇数
如果我读得正确,你想要这样的东西吗?
List<Integer> getOddNumbers(int[] integers) {
List<Integer> oddNumbers = new ArrayList<Integer>();
for (int i : integers)
if (i % 2 != 0)
oddNumbers.add(i);
return oddNumbers;
}
答案 2 :(得分:1)
确保您的方法的返回类型与您想要返回的相同。 例如: `
public int get(int[] r)
{
return r[0];
}
`
注意:返回类型是int,而不是int [],因此它能够返回int。
一般来说,原型可以
public Type get(Type[] array, int index)
{
return array[index];
}
答案 3 :(得分:0)
(已编辑。)有两个原因导致它无法编译:您在本声明末尾错过了一个分号:
array3[i]=e1
如果数组长度为0,findOut方法也不会返回任何值。在方法末尾添加return 0;
将使其编译。我不知道是否会让它做你想做的事情,因为我不知道你想要它做什么。