Hallo, ich will eine Methode schreiben, die ersten (bis zu) n Array-Elemente mit geraden Indizes als neues Array ausgibt.
Meine Idee:
Als erstes habe ich einfach in Abhängigkeit der Länge des übergebenen Arrays a die Länge eines neuen Arrays b ermittelt, das nur die Zahlen an den geraden Indizes enthält.
Dann speicher ich diese Zahlen in b. Der Rest ist dann eine einfache Unterscheidung. Es kann ja sein, dass man mehr Zahlen haben will als das Array a groß ist.
Ist das so ok oder geht das einfacher?
Meine Idee:
Java:
public int[] even(int zahl, int a []) {
int b[]=new int[0];
int c[]=new int[0];
if(a.length % 2== 0) {
b =new int[a.length/2];
}
else {
b =new int[a.length/2+1];
}
int j=0;
for(int i=0; i<a.length; i+=2) {
b[j]=a[i];
j++;
}
j=0;
if(zahl>=b.length) return b;
for (int i=0;i<zahl; i++) {
c[j]=b[i];
}
return c;
}
Als erstes habe ich einfach in Abhängigkeit der Länge des übergebenen Arrays a die Länge eines neuen Arrays b ermittelt, das nur die Zahlen an den geraden Indizes enthält.
Dann speicher ich diese Zahlen in b. Der Rest ist dann eine einfache Unterscheidung. Es kann ja sein, dass man mehr Zahlen haben will als das Array a groß ist.
Ist das so ok oder geht das einfacher?