如何返回数组的特定元素?

时间:2013-10-15 08:41:41

标签: java arrays parameters elements

我想返回数组的奇数,但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];

        }

    }

}


}

我知道这里可能存在不止一些错误,但我正在研究它,我不仅会返回奇数,我还将它们加在一起。

4 个答案:

答案 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;将使其编译。我不知道是否会让它做你想做的事情,因为我不知道你想要它做什么。