# statische Methode zum füllen eines 2D Arrays



## bugbunny (21. Mrz 2018)

Hallo, ich komme bei einer Aufgabe nicht weiter. 
Ich habe eine abstrakte Klasse in der ich eine statische Methode schreiben soll. 
der Methodenkopf schaut so aus: 

```
public static Sample[][] buildManyFromBytes(SamplingInfo samplingInfo, byte[]
bytesToConvert)
```

Erstellung des Ausgabe Arrays (die Anzahl der Kanäle ergibt sich aus der übergebenen SamplingInfo, die Anzahl der Samples pro Kanal ergibt sich aus der Gesamtzahl der übergebenen Bytes geteilt durch die Bytes pro Sample und Anzahl der Kanäle).
•Erstellung eines zur Bitrate passenden Prototypobjektes
(Sample16/Sample24/Sample32).
•Einlesen der Werte in das Array. Dabei sind die Bytes wie folgt angelegt: Es beginn mit
dem ersten Sample des ersten Kanals. Es folgt das erste Sample des zweiten Kanals.
Dann folgt das zweite Sample des ersten Kansals und das zweite Sample des zweiten
Kanals. Dies wird so fortgeführt. Die Bytes die zum jeweiligen Sample gehören sind an
die Funktion buildFromBytes des Prototypobjektes zu übergeben um das Sample zu
erhalten.


```
Array[][] output = new Array[samplingInfo.getNumberOfChannels()][bytesToConvert.length/(16|24|32+samplingInfo.getNumberOfChannels())];

for (int i = 0; i < output.length; i++)
{
    for (int j = 0; j < output[i].length; j++)
    {

            output[i][j]= 
    }
}
```

Die abstrakte Klasse erweitert die Klassen Sample16, 24 & 32. 
Bei der Länge der 2. Dimension ist mir nicht klar, ob ich die Auswahl schon in der abstrakten Klasse treffen muss, oder ob ich die erst in der jeweiligen Klassen festlegen muss. 

Mein Array schaut ja in etwa so aus:
                sample1   ...    samplem

Kanal1        1          ...    n*(m-1) + 1    

...               ...         ...          ...      

Kanaln        n          ...        m*n

Wie kann ich das Array befüllen bzw. die Reihenfolge dazu festlegen?

Bin für jede Hilfe dankbar. 

Grüße


----------

