Mostrando en una caja de texto las dos matrices a multiplicar e igualmente que sus respectivos resultados.
En el Main.
Código: Seleccionar todo
package matrices.multiplicacion;
/*
* @author KaneC0der
*/
import javax.swing.*;
public class Main {
public static void main(String[] args) {
double[][] a1={{2,3,5},{3,4,2},{5,7,4}};
MultiplicacionDeMatrices a=new MultiplicacionDeMatrices(a1);
double[][] a2={{1,3,2},{4,2,6},{2,5,6}};
MultiplicacionDeMatrices b=new MultiplicacionDeMatrices(a2);
JOptionPane.showMessageDialog(null,"Matriz A:" + a.mostrar()+
"Matriz B:" + b.mostrar());
MultiplicacionDeMatrices re = a.suma(a, b);
JOptionPane.showMessageDialog(null, "Suma:"+re.mostrar());
MultiplicacionDeMatrices re2 = a.resta(a, b);
JOptionPane.showMessageDialog(null, "Resta:"+re2.mostrar());
MultiplicacionDeMatrices re3 = a.producto(a, b);
JOptionPane.showMessageDialog(null, "Producto:"+re3.mostrar());
}
}
Código: Seleccionar todo
package matrices.multiplicacion;
/*
* @author KaneC0der
*/
public class MultiplicacionDeMatrices {
public int n; // dimension de la matriz
private double[][] x;
//crea una matriz de "n" elementos con ceros
public MultiplicacionDeMatrices(int n) {
this.n = n;
x = new double[n][n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
x[i][j]=0;
}
}
}
//crea una matriz con un array bidimensional pasado como parametro
public MultiplicacionDeMatrices(double[][] x) {
this.x=x;
n=x.length;
}
//muestra en pantalla a la matriz
public String mostrar(){
String texto="\n";
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
// tabulador "\t" y se limita el numero de decimales a tres
texto+="\t "+(double)Math.round(1000*x[i][j])/1000;
}
//cuando se alcanza el final de la linea se inserta un retorno de carro
texto+="\n";
}
texto+="\n";
return texto;
}
public MultiplicacionDeMatrices suma(MultiplicacionDeMatrices a, MultiplicacionDeMatrices b){
MultiplicacionDeMatrices resultado=new MultiplicacionDeMatrices(a.n);
for(int i=0; i<a.n; i++){
for(int j=0; j<a.n; j++){
resultado.x[i][j]=a.x[i][j]+b.x[i][j];
}
}
return resultado;
}
public MultiplicacionDeMatrices resta(MultiplicacionDeMatrices a, MultiplicacionDeMatrices b){
MultiplicacionDeMatrices resultado=new MultiplicacionDeMatrices(a.n);
for(int i=0; i<a.n; i++){
for(int j=0; j<a.n; j++){
resultado.x[i][j]=a.x[i][j]-b.x[i][j];
}
}
return resultado;
}
public MultiplicacionDeMatrices producto(MultiplicacionDeMatrices a, MultiplicacionDeMatrices b){
MultiplicacionDeMatrices resultado=new MultiplicacionDeMatrices(a.n);
for(int i=0; i<a.n; i++){
for(int j=0; j<a.n; j++){
for(int k=0; k<a.n; k++){
resultado.x[i][j]+=a.x[i][k]*b.x[k][j];
}
}
}
return resultado;
}
}