Hey,
ich habe ein Problem mit der Weitergabe von Arrays.
Zur Erklärung vereinfache ich die Zahlen (wobei manche, z.B.
,
, Variabel sind)("Er" ist der Debugger/Compiler Eclipse).
Ich möchte aus einer Matrix (
) das erste Array mit dem Ersten Wert der restlichen Arrays multiplizieren. D.h.
ich habe z.B.:
Dazu habe ich diesen Code :
Die
Routine wird im Gesammt-Code aufgerufen.
und
werden dabei übergeben.
Doch übergibt er dabei nur das erste mal in Zeile 8 das
, sodass in
ab dem ersten Schritt (ohne den ausgelassenen) immer das Ergebniss
erscheint. Dies fällt beim zweiten Schritt nicht auf, da dort auch *0 ist.
Aber beim vierten Schritt wäre es *4, doch ist
gegeben, und daher ist das Ergebnis auch 0.
D.h. er mach zwei Dinge die ich nicht erwartet habe:
Er übergibt nicht den Array.
Er nimmt den vorherigen Array, der eigentlich bei dem Abschluss der
-Routine gelöscht sein sollte.
Ich weiß nicht wirklich wo das Problem dabei ist. Ich hoffe das ist genug Erklärung.
Gruß Mariaki
ich habe ein Problem mit der Weitergabe von Arrays.
Zur Erklärung vereinfache ich die Zahlen (wobei manche, z.B.
Code:
i
Code:
src
Ich möchte aus einer Matrix (
Code:
double[][]
ich habe z.B.:
Java:
1, -1.25, -0.5, -2, -4.25 -> Auslassen
0, 10, 0, 12, -6 -> *0 -> 0, 0, 0, 0, 0
0, -5, 0, -4, -23 -> *0 -> 0, 0, 0, 0, 0
4, -10, 0, -16, 2 -> *4 -> 4, -5, -2, -8, -17
Dazu habe ich diesen Code :
Java:
private int i = 0;
private double[][] src = {{1, -1.25, -0.5, -2, -4.25}, {0, 10, 0, 12, -6}, {0, -5, 0, -4, -23}, {4, -10, 0, -16, 2}};
private double[][] subtractedMtrx(int i, double[][] src) {
for (int i1 = 0; i1 < src.length; i1++) {
if (i1 != i) { // i (in dem Fall das erste) ueberspringen, fuer gesammtcode wichtig
src[i1] = multipliedArry(src[i1][i], src[i]); //Matrix[i] mit dem Matrix[i1][i]-fachen multiplizieren
}
}
return src;
}
private double[] multipliedArry(double factor, double[] arry) {
for (int i1 = 0; i1 < arry.length; i1++) {
arry[i1] = arry[i1] * factor;
}
return arry;
}
Code:
subtractedMtrx
Code:
i
Code:
src
Doch übergibt er dabei nur das erste mal in Zeile 8 das
Code:
scr[i]
Code:
multipliedArry
Code:
{0, 0, 0, 0, 0}
Aber beim vierten Schritt wäre es *4, doch ist
Code:
{0, 0, 0, 0 ,0}
D.h. er mach zwei Dinge die ich nicht erwartet habe:
Er übergibt nicht den Array.
Er nimmt den vorherigen Array, der eigentlich bei dem Abschluss der
Code:
multipliedArry
Ich weiß nicht wirklich wo das Problem dabei ist. Ich hoffe das ist genug Erklärung.
Gruß Mariaki
Zuletzt bearbeitet: