Hallo,
ich habe folgende Aufgabe:
Die Methode zip erhält als Parameter zwei Arrays von double-Werten mit beliebiger Länge und liefert als Ergebnis
ein neues Array, dessen Elemente wie bei einem „Reißverschluss“ abwechselnd aus den Elementen der
beiden ursprünglichen Arrays bestehen. Wenn ein Array länger ist als das andere, werden seine überschüssigen
Elemente einfach am Ende des Ergebnis-Arrays angefügt.
Beispiel: Für Arrays mit den Elementen 3, 7, 9 und 2, 8, 6, 4, 10 soll zip ein Array mit den Elementen
3, 2, 7, 8, 9, 6, 4, 10 liefern.
Beim Ausführen bekome ich eine "ArrayIndexOutOfBoundsException".
Könntet ihr mir sagen was mein Fehler ist?
Mein bisheriger Code:
ich habe folgende Aufgabe:
Die Methode zip erhält als Parameter zwei Arrays von double-Werten mit beliebiger Länge und liefert als Ergebnis
ein neues Array, dessen Elemente wie bei einem „Reißverschluss“ abwechselnd aus den Elementen der
beiden ursprünglichen Arrays bestehen. Wenn ein Array länger ist als das andere, werden seine überschüssigen
Elemente einfach am Ende des Ergebnis-Arrays angefügt.
Beispiel: Für Arrays mit den Elementen 3, 7, 9 und 2, 8, 6, 4, 10 soll zip ein Array mit den Elementen
3, 2, 7, 8, 9, 6, 4, 10 liefern.
Beim Ausführen bekome ich eine "ArrayIndexOutOfBoundsException".
Könntet ihr mir sagen was mein Fehler ist?
Mein bisheriger Code:
Java:
public class Arrays {
public static void print(double[] a){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
System.out.println();
}
public static double[] zip(double[] a, double[] b){
int min=(a.length<b.length)?a.length:b.length;
int max=(a.length>b.length)?a.length:b.length;
double[] c=new double[a.length+b.length];
for(int i=0;i<2*min;i++){
c[i]=a[i];
c[i+1]=b[i];
}
return c;
}
public static void main(String[] args){
double[] a={3,7,9};
double[] b={2,8,6,4,10};
print(zip(a,b));
}
}