配列の奇数を返したいのですが、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];
}
}
}
}
ここにはおそらくいくつかの間違いがあることはわかっていますが、私はそれに取り組んでおり、奇数を返すだけでなく、それらを足し合わせています。
コードは次のようになります。
_public int getElement(int[] arrayOfInts, int index) {
return arrayOfInts[index];
}
_
ここでの主なポイントはメソッドの戻り値の型であり、配列要素の型と一致する必要があります。main()
から作業している場合、このメソッドも静的である必要があります。
配列の奇数を返したい
私がそれを正しく読んだら、あなたはこのようなものが欲しいですか?
List<Integer> getOddNumbers(int[] integers) {
List<Integer> oddNumbers = new ArrayList<Integer>();
for (int i : integers)
if (i % 2 != 0)
oddNumbers.add(i);
return oddNumbers;
}
メソッドの戻り値の型が、返したいものと同じであることを確認してください。例: `
public int get(int[] r)
{
return r[0];
}
`
注:戻り値の型はint []ではなくintであるため、intを返すことができます。
一般的に、プロトタイプは
public Type get(Type[] array, int index)
{
return array[index];
}
(編集済み)コンパイルされない理由は2つあります。このステートメントの最後にセミコロンがありません。
array3[i]=e1
また、配列の長さが0の場合、findOutメソッドは値を返しません。メソッドの最後にreturn 0;
を追加すると、コンパイルされます。あなたが何をしたいのかわからないので、それがあなたが望むことをするようになるかどうかはわかりません。