Wie Array ansprechen

InXtremO

Grünschnabel
Hallo, ich habe da folgende Frage.
Ich benötige ein Array in einem Array. Beide Dimensionen sind 10 lang, ich habe also 100 Stellen.
Ich habe bisher einmal
Code:
public static int   [][] powerMat	    ={new int  [NobleNumbers.Programm.Declaration.nbrOfExponents], new int [NobleNumbers.Programm.Declaration.PowerArr]};
ausprobiert und einmal
Code:
public static int	[,]	powerMat= new int [NobleNumbers.Programm.Declaration.nbrOfExponents,NobleNumbers.Programm.Declaration.PowerArr];
wobei nbrOfExponents eine Konstante mit 10 ist, und PowerArr ein anderes Array mit 10 Stellen darstellt.

Die erste Lösung funktioniert so nicht. Wenn ich auf den Index 9 zugreifen will, kommt immer IndexOutOfRange, da dieser nicht existiert, das Array hat ja nur die Länge 2.

Bei der 2ten Methode kommt das Problem auf das ich nachher bei diesem Aufruf
Code:
NobleNumbers.Programm.Calculate.ComputeScalarProduct (test[exponent], FrequencyArr, number, overflown);
den Fehler bekomme, dass ich bei test [exponent] ich 2 Indizes angeben muss, was ja auch klar ist. Aber ich will ihm ja nur das Array übergeben das an der Stelle "exponent" ist.
:confused:
Hmm, ich will es nochmals etwas anders ausdrücken, nehmen wir an exponent hat 5, dann liegt im Array test an der Stelle 4 ein anderes Array, dieses Array will ich an die Methode ComputeScalarProduct übergeben.
Wie stelle ich das jetzt an

Ich hoffe es versteht jemand was ich damit meine, ist schwierig zu schreiben.

Danke mal im Vorraus.
Gruß Daniel
 
Hallo.

Beide Varianten können gar nicht funktionieren, denn ich vermute mal du möchtest ein unregelmäßiges Array erstellen, nicht ein mehrdimensionales.
Probier also mal folgendes:
Code:
public static int[][] powerMat= new int [NobleNumbers.Programm.Declaration.nbrOfExponents,NobleNumbers.Programm.Declaration.PowerArr];
Für nähere Informationen siehe dieses Galileo Open Book (unter Kapitel 17.2.2).
Das erste Beispiel des Autors könnte hier passen.

Gruß, Niko
 
Hallo vielen Dank für die Antwort.
Hatte irgendwie einen Denkfehler in der Sache, funktioniert jetzt perfekt. Zumindest was die Arrays angeht :rolleyes: .

Gruß Daniel
 
Zurück