Problema multiplicando matrices

Matriz
19 de Diciembre del 2008
Hola, mi duda es la siguiente. Tengo que crear 2 matrices con la clase java util random, y que se multipliquen entre sí, pero tengo un problema al multiplicarlas. Me estoy volviendo loco buscando la solucion, pero no la encuentro. SI puediesen decirme como solucionarlo, se lo agradeceria.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Multiplicacion {

private static BufferedReader stdin= new BufferedReader(new InputStreamReader(System.in));

public static void main(String[] args) throws IOException {

int x; int y;

System.out.println("Introduzca el número de filas de la matriz 1");
String input = stdin.readLine();
x = Integer.parseInt(input);


System.out.println("Introduzca el número de columnas de la matriz 1");
input = stdin.readLine();
y = Integer.parseInt(input);

int matriz1 [][] = new int [x][y];

java.util.Random generador = new java.util.Random();

for (x = 0; x < matriz1.length; x++){
for (y = 0; y < matriz1[x].length; y++){
matriz1[x][y] = generador.nextInt(9)+1;
System.out.print (matriz1[x][y]);
System.out.print (" ");
}
System.out.println (" ");
}
System.out.print (" ");


int a; int b;

System.out.println("Introduzca el número de filas de la matriz 2");
input = stdin.readLine();
a = Integer.parseInt(input);


System.out.println("Introduzca el número de columnas de la matriz 2");
input = stdin.readLine();
b = Integer.parseInt(input);

int matriz2 [][] = new int [a][b];

java.util.Random generador2 = new java.util.Random();


for (a = 0; a < matriz2.length; a++){
for (b = 0; b < matriz2[a].length; b++){
matriz2[a][b] = generador2.nextInt(9)+1;
System.out.print (matriz2[a][b]);
System.out.print (" ");
}
System.out.println (" ");
}
System.out.print (" ");

int [][] result = new int [matriz1.length][];
for (int i = 0; i < result.length; i++) {
result [i] = new int [matriz2.length];
for (int j = 0; j < matriz2.length; j++){
for(int k = 0; k < matriz1.length; k++){
result [i][j] =(matriz1[i][k]+1 * matriz2[k][j]);
System.out.print (result[i][j]);
System.out.print (" ");

}
System.out.println (" ");

}
System.out.println (" ");
}
return;




}

}