# Matrix für Dummis



## Wrigleys (19. November 2007)

Also ich hab ein Problem mit der Ausgabe und weiß echt nicht was falsch ist.
Es zeigt mir meine Matrizen nicht wieder an, obwohl ich die davor eingegeben habe,

-----------------------------------------------------------------------------------------------------------------------

```
Please write the matrix, Coloumn and Rows
Colomns: 
2
Rows: 
2
Creating Matrixes
Please Enter next: (0)(0)
1
Debug: setting value X2 Y2
Please Enter next: (0)(1)
1
Debug: setting value X2 Y2
Please Enter next: (1)(0)
1
Debug: setting value X2 Y2
Please Enter next: (1)(1)
1
Debug: setting value X2 Y2

[ 0.0 0.0 ]
[ 0.0 0.0 ]
null

[ 0.0 0.0 ]
[ 0.0 0.0 ]
null

[ 0.0 0.0 ]
[ 0.0 0.0 ]
null

-----------------------------------------------------------------------------------------------------------------------


//import java.util.*;

class Matrix {
	static int x, y; //important, because you have to read the matrix 
	static String s;  //important, because my InteractivIO wants a STRING!	
	static double [][]matrix; //important for the matrix (2dimensions [m=rows][n=coloms])

	
	
//----------------------------------------------------------------------------------------------
	 Matrix (int m, int n)throws Exception { //create a M-by-N matrix
		x=m;
		y=n;
		matrix = new double [m][n];	
	}
	
//--------------------------------------------------------------------------------------------	
	public String toString() {
		printMatrix(matrix);
		return s;
	}
	
	public void printMatrix(double [][]matrix){
		int m = matrix.length; 	//Rows
		System.out.println();
		for(int i=0; i<m; i++){
			int n = matrix[i].length;
			System.out.print("[ ");
			
			for(int j=0; j<n; j++){
				System.out.print(matrix[i][j]+" ");
			}
			System.out.println("]");
		}
	}
//--------------------------------------------------------------------------------------------	
	
	public double setElement(int i, int j, double k)throws Exception{
		System.out.println("Debug: setting value X" + x + " Y" + y);
		return matrix[i][j] = k;
	}
	
//--------------------------------------------------------------------------------------------	
	public double getElement(int i, int j){
		return matrix[i][j];
	}
	
//---------------------------------------------------------------------------------------------	
	public void add (Matrix mat){

	}
	
//--------------------------------------------------------------------------------------------	
	public void multiply(Matrix mat){
		
	}
//--------------------------------------------------------------------------------------------
	
	public static void main (String[]args) throws Exception {
		Matrix A,B; //for the matrix
		Matrix C; //for addition result matrix
	
		InteractivIO.write("Please write the matrix, Coloumn and Rows");
		y=InteractivIO.readInt("Colomns: ");
		x=InteractivIO.readInt("Rows: ");
		System.out.println("Creating Matrixes");
		
		A= new Matrix(x,y);
		B= new Matrix(x,y);
		
		for(int i=0;i<x;i++){
			   for(int j=0;j<y; j++)
				   A.setElement(i,j,InteractivIO.readInt("Please Enter next: (" +  i + ")(" + j + ")"));
		}
		
		C= new Matrix(x,y);	
		
		InteractivIO.write(A.toString());
		InteractivIO.write(B.toString());
		InteractivIO.write(C.toString());				
	}
	
}//end
```


----------



## matdacat (20. November 2007)

Entferne das "static" vor den Variablen! Diese Variablen sind Eigenschaften jeder einzelnen Matrize (Instanzvariablen), keine Klassenvariablen! Momentan überschreibst Du mit dem Erzeugen der Matrizen B und C die zuvor gesetzten Werte im Array.

PS. set-Methoden haben im Normalfall keinen Rückgabewert. Ein einfaches 
	
	
	



```
matrix[i][j] = k;
```
 reicht vollkommen.


----------

