Arrays mischen und anhängen

Windows10

Bekanntes Mitglied
Wo ist in der Methode appendArrays ein Fehler? Diese Methode soll an Array []a, Array[]b anhängen!!
Java:
 public static int[] appendArrays(int []a, int []b)
    {
        int appendArrays=a.length+b.length;
        int[]append=new int[appendArrays];
        int x=0;
        for(int i=0; i<a.length;i++)
        {
            append[x]=a[i];
            x=x+2;
        }
        x=1;
        for(int j=0;j<b.length;j++)
        {
            append[x]=b[j];
            x=x+2;
        }
        return append;
    }

    public static int[] mixArrays(int []a, int []b)
    {
        int mixArrays=a.length+b.length;
        int[] mix=new int[mixArrays];
        int x=0;
        for(int i=0;i<a.length;i++)
        {
            mix[x]=a[i];
            x=x+2;
        }
        x=1;
        for(int j=0;j<b.length;j++)
        {
            mix[x]=b[j];
            x=x+2;
        }
        return mix;
    }
 
Wenn der Fehler sein soll, dass der Inhalt von Array B nicht hinter dem Inhalt von Array A steht, dann vergleich doch mal deine beiden Methoden mixArrays und appendArrays. Die sind aus logischer Sicht gleich. Überleg dir mal was die einzelnen For-Schleifen tun und was sie tun sollten, dann kommst du schon drauf (Wenn nicht, frag nochmal).

Sollte der Fehler woanders sein, wäre eine genauere Beschreibung hilfreich.
 
Der Denkfehler ist wohl, dass er die Elemente immer nacheinander schreiben möchte, also erstes Element von a und dann erstes Element von b, dann zweites Element von und so weiter ...

Spiel das Szenario doch einmal durch indem Du das a Array 1 Feld groß hast und das b Array 3 Felder. Was für ein Ziel-Array erstellst Du und in welche Felder schreibst Du Werte?

Konrad
 

Zurück
Oben