Hi,
Nachfolgend mal ein Beispiel.
Vielleicht hilft es dir weiter....
[code=Java]
public class Matrix {
private double matrix[][];
/**
* Constructor
*/
public Matrix() {
initMatrix();
}
/**
* Method to initalize the matrix
*/
private void initMatrix() {
matrix = new double[][] {
{0,0,0,0,0},
{0,0,0,9,0},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0}
};
}
/**
* Method to get a vector from a matrix
* @param number
* @return vector
*/
public Vector getVector(int number) {
Vector vector = null;
for (int m = 0; m < matrix.length; m++) {
for (int n = 0; n < matrix[0].length; n++) {
if(matrix[m][n] == number)
vector = new Vector(m, n);
}
}
return vector;
}
/**
* Method to get a new Matrix
* @param vector
* @param number
* @return
*/
public double[][] getNewMatrix(Vector vector, int number) {
double[][] newMatrix = new double[matrix.length][matrix[0].length];
// kopieren der inhalte von matrix in die neue Matrix
System.arraycopy( matrix, 0, newMatrix, 0, matrix.length );
// fülle Zeile der neuen Matrix mit 1
for (int i = 0; i < newMatrix.length; i++) {
newMatrix[vector.m][i] = 1;
}
// fülle Kolonne der neuen Matrix mit 1
for (int i = 0; i < newMatrix[0].length; i++) {
newMatrix[i][vector.n] = 1;
}
int j = newMatrix.length-1;
// fülle die Diagonale der neuen Matrix mit 1
for (int i = 0; i < newMatrix.length; i++) {
newMatrix[i][j--] = 1;
}
// setzten der nummer in die vector- position
newMatrix[vector.m][vector.n] = number;
return newMatrix;
}
/**
* Methode to print the matrix content
* @param m
*/
private void printMatrix(double[][] m) {
for (int i = 0; i < m.length; i++) {
for (int j = 0; j < m[0].length; j++) {
System.out.print(m[i][j] + " ");
}
System.out.println();
}
}
/**
* Method for testing
*/
public void test() {
int number = 9;
Vector vector = getVector(number);
double[][] matrix2 = getNewMatrix(vector, number);
printMatrix(matrix2);
}
/**
* Main method to start the program
* @param args
*/
public static void main(String[] args) {
Matrix matrix = new Matrix();
matrix.test();
}
/**
* Internal class to represent a matrix vector
*
*/
class Vector {
int m;
int n;
public Vector(int m, int n) {
this.m=m;
this.n=n;
}
}
}
[/code]