Mehrdimensionales array[][]

Neue Frage »

Auf diesen Beitrag antworten »
unleashed656 Mehrdimensionales array[][]

Hallo, ich habe erneut ein kleines Problem und hoffe ich bin
da wieder bei euch richtig.
Ich habe ein mehrdimensionales array (int[][])
Ich muss daraus nun das spalten und zeilenprodukt bilden. Also alle zahlen in einer Spale
aufmultiplizieren plus das gleicche mit der nächsten spalte und so weiter. Und dann halt alle zahlen in einer zeile multiplizieren + die nächste spalte.


Ich kriege aber immer total falsche Ergebnisse.
Ich habe mich mal zuerst am spaltenprodukt probiert und das zeilenprodukt weggelassen.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
package sonstiges;

public class summe {

	static int Matrix[][]= {{2,1,1,3},{1,3,2,4},{4,3,1,3}};
	
	
	
	static int produkt(int[][] matrix){
		int spaltenprodukt = 1;
		int ergebniss = 0;
		
		for(int i=0;i<matrix.length;i++){
			
			for(int j=0;j<matrix[i].length;j++){
				spaltenprodukt *= matrix[i][j];
			}
			
			ergebniss +=spaltenprodukt;
		}
			
		return ergebniss;
	}
	
public static void main(String[] args){
	
	int zahl=produkt(Matrix);
	System.out.print(zahl);
}	
	
}


Bitte helft mir weiter...Das spaltenprodukt sollte 66 ergeben.
 
Auf diesen Beitrag antworten »
eulerscheZahl

Zieh die Zeile int spaltenprodukt = 1; in die äußere for Schleife rein (also zu Zeile 14). Sonst rechnest du mit dem alten Produkt weiter. Alternativ kannst du es wieder auf 1 setzen, nachdem du das Ergebnis erhöht hast.
Auf diesen Beitrag antworten »
unleashed656

ah danke, das macht mehr sinn großes Grinsen ...dann werde ich mal die zeilen in angriff nehmen Augenzwinkern
Auf diesen Beitrag antworten »
unleashed656

ok irgendwie kriege ich immer eine indexoutofbounds exceptions bei den zeilenprodukt.
Hier der Code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:

public class summe {

	static int Matrix[][]= {{2,1,1,3},{1,3,2,4},{4,3,1,3}};
	
	
	
	static int produkt(int[][] matrix){
		
		int ergebniss = 0;
		
		//Spaltenprodukt
		for(int i=0;i<matrix.length;i++){
			int spaltenprodukt = 1;
			
			for(int j=0;j<matrix[i].length;j++){
				spaltenprodukt *= matrix[i][j];
			}
			
			ergebniss +=spaltenprodukt;
		}
		
		//Zeilenprodukt
		for(int i = 0;i<matrix.length;i++){
			int zeilenprodukt = 1;			
			for(int j=0;j<matrix[i].length;j++){
				zeilenprodukt *= matrix[j][i];
			}
			ergebniss += zeilenprodukt;
		}
			
		return ergebniss;
	}
	
public static void main(String[] args){
	
	int zahl=produkt(Matrix);
	System.out.print(zahl);
}	
	
}
 
Auf diesen Beitrag antworten »
eulerscheZahl

code:
1:
2:
3:
4:
5:
6:
7:
for (int i = 0; i < matrix[0].length; i++) {
	int spaltenprodukt = 1;
	for (int j = 0; j < matrix.length; j++) {
		spaltenprodukt *= matrix[j][i];
	}
	ergebnis += spaltenprodukt;
}


Beachte, dass die erste Schleife bis matrix[0].length geht.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »