Bom eu tenho 3 classe a primeira e a central(Funcao), depois a soma que é herdeira da central, outra executa:
A primeira:
import javax.swing.*;
public class Funcao {
private int i1,i2,j1,j2;
/** Creates a new instance of Funcao */
public Funcao() {
}
public int getLinha1()
{
return i1;
} public int getLinha2()
{
return i2;
} public void setLinha1(int linha)
{
i1=linha;
}
public void setLinha2(int linha)
{
i1=linha;
}
public int getColuna1()
{
return j1;
} public int getColuna2()
{
return j2;
} public void setColuna1(int coluna)
{
j1=coluna;
}
public void setColuna2(int coluna)
{
j1=coluna;
}
public void tamanho()
{
i1=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o numero de linhas da primeira tabela:","Inserindo Dados",JOptionPane.QUESTION_MESSAGE));
j1=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o numero de colunas da primeira tabela:","Inserindo Dados",JOptionPane.QUESTION_MESSAGE));
i2=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o numero de linhas da Segunda tabela:","Inserindo Dados",JOptionPane.QUESTION_MESSAGE));
j2=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o numero de colunas da Segunda tabela:","Inserindo Dados",JOptionPane.QUESTION_MESSAGE));
}
public int[][] receberNumeros(int i, int j){
int matriz[][]=new int[i][j];
int cont=0;
int cont2=0;
while(cont<i)
{
cont2=0;
while(cont2><j)
{
matriz[cont][cont2]=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o número do elemento da "+cont+"X"+cont2,"Inserindo os Valores",JOptionPane.PLAIN_MESSAGE));
cont2++;
}
cont++;
}
return matriz;
}
public void Imprimir(int[][] matriz, int i, int j){
int cont=0;
int cont2=0;
String Mostrar="";
while(cont><i){
cont2=0;
while(cont2><j){
cont2++;
Mostrar+=matriz[cont][cont2]+" ";
}
cont++;
}
JTextArea mostrarArea=new JTextArea();
mostrarArea.setText(Mostrar);
JOptionPane.showMessageDialog(null,mostrarArea,"Teste de matriz",JOptionPane.PLAIN_MESSAGE);
}
}
a segunda que é a soma:
public class Soma extends Funcao{
/** Creates a new instance of Soma */
public Soma() {
}
public int[][] somaFuncao(int matriz1[][], int matriz2[][],int i1, int j1){
int matrizFinal[][]=new int[i1][j1];
int cont=0;
int cont2=0;
while(cont><i1){
cont2=0;
while(cont2><j1){
matrizFinal[cont][cont2]=matriz1[cont][cont2]+matriz2[cont][cont2];
cont2++;
}
cont++;
}
return matrizFinal;
}
}
e a ultima que é a executa:
import javax.swing.*;
public class Executa {
/** Creates a new instance of Executa */
public Executa() {
}
public static void main(String args[]){
int i1,i2,j1,j2=0;
int matriz1[][],matriz2[][], matrizFinal[][];
int num=0;
num=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o número da operação que você deseja fazer:\n1 - Soma de duas matrizes\n2 - Subtrair duas matrizes\n3 - Oposta de uma matriz\n4 - Multiplicar duas matrizes\n5 - Trasposta de uma matriz\n6 - Matriz escalar\n","Manipulando Matrizes",JOptionPane.PLAIN_MESSAGE));
switch(num){
case 1:
Soma obj=new Soma();
obj.tamanho();
if(obj.getLinha1()==obj.getLinha2()&&obj.getColuna1()==obj.getColuna2())
{
matriz1=obj.receberNumeros(obj.getLinha1(),obj.getColuna1());
matriz2=obj.receberNumeros(obj.getLinha2(),obj.getColuna2());
matrizFinal=obj.somaFuncao(matriz1,matriz2,obj.getLinha1(),obj.getColuna1());
obj.Imprimir(matrizFinal,obj.getLinha1(),obj.getColuna1());
}
else
{
JOptionPane.showMessageDialog(null,"Impossivel fazer Soma de matrizes, numero incompativel","ERRO",JOptionPane.ERROR_MESSAGE);
}
break;
default:
JOptionPane.showMessageDialog(null,"Numero Invalido","ERRO",JOptionPane.ERROR_MESSAGE);
}
}
}
eu nao estou conseguindo receber a matriz, depois da soma…>