aew galera tow com um probleminha com uma calculadora de matrizes quadradas:
[code]import java.util.*;
public class CalcMatrix {
public static void main(String matrizes[]){
//Instancia da classe que captura dados do Teclado;
Scanner in = new Scanner(System.in);
//Instancia da classe que gerara os numeros aleatorios;
Random r = new Random();
//Declaração de duas variaveis para servir como linhas e colunas;
int L = 0;
int Co = L;
System.out.print("Digite o tamanho da matriz quadrada de valores aleátorios: ");
L = in.nextInt();
//Declarando 3 arrays bidimensionais(matrizes);
int A[][] = new int [L][Co];
int B[][] = new int [L][Co];
int Soma[][] = new int [L][Co];
int Sub[][] = new int [L][Co];
int Mult[][] = new int [L][Co];
//Gerando a Matriz A LxCo Aij, com i e j valores iguais e sendo gerados aleatoriamente :
for(int l = 0; l < L; l++){
for(int co = 0 ; co < Co; co++){
A[l][co] = r.nextInt(9) + 1;
}
}
System.out.println(" A matriz 'A' é: ");
for(int l = 0; l < L; l++){
for(int co = 0 ; co < Co; co++){
System.out.print(A[l][co] + " ");
}
System.out.println("");
}
System.out.println("_______________");
//Gerando a Matriz B LxCo Bij, com i e j valores iguais e sendo gerados aleatoriamente :
for(int l = 0; l < L; l++){
for(int co = 0 ; co < Co; co++){
B[l][co] = r.nextInt(9) + 1;
}
}
System.out.println("A matriz 'B' é: ");
for(int l = 0; l < L; l++){
for(int co = 0 ; co < Co; co++){
System.out.print(B[l][co] + " ");
}
System.out.println("");
}
System.out.println("______________________________");
//Vou efetuar a soma das matrizes A e B;
System.out.print("A soma das matrizes A e B é: ");
for(int l = 0; l < L; l++){
for(int co = 0 ; co < Co; co++){
Soma[l][co] = A[l][co] + B[l][co];
}
}
for(int l = 0; l < L; l++){
for(int co = 0 ; co < Co; co++){
System.out.print(Soma[l][co] + " ");
}
System.out.println("");
}
System.out.println("______________________________");
//Vou efetuar a subtração das matrizes A e B;
System.out.println(" A subtração das matrizes A e B é: ");
for(int l = 0; l < L; l++){
for(int co = 0 ; co < Co; co++){
Sub[l][co] = A[l][co] - B[l][co];
}
}
for(int l = 0; l < L; l++){
for(int co = 0 ; co < Co; co++){
System.out.print(Sub[l][co] + " ");
}
System.out.println("");
}
System.out.println("______________________________");
//Vou efetuar a multiplicação das matrizes A e B;
System.out.print(" A multiplicação das matrizes A e B é:" + "\n");
for(int l = 0; l < L; l++){
for(int co = 0 ; co < Co; co++){
Mult[l][co] = A[l][co] * B[l][co];
}
}
for(int l = 0; l < L; l++){
for(int co = 0 ; co < Co; co++){
System.out.print(Mult[l][co] + " ");
}
System.out.println("");
}
}
}
[/code]
se axarem melhor axar a solução com metodos pode ser soh ta faltando ela imprimir os valores das matrizes
O erro tava na criação do Scanner rsrs.
[code]import java.util.Random;
import java.util.Scanner;
public class CalcMatrix {
public static void main(String matrizes[]) {
Scanner in = new Scanner(System.in);
System.out.print("Digite o tamanho da matriz quadrada de valores aleátorios: ");
int Linha = in.nextInt();
int Coluna = Linha;
//Instancia da classe que gerara os numeros aleatorios;
Random r = new Random();
//Declarando 3 arrays bidimensionais(matrizes);
int A[][] = new int[Linha][Coluna];
int B[][] = new int[Linha][Coluna];
int Soma[][] = new int[Linha][Coluna];
int Sub[][] = new int[Linha][Coluna];
int Mult[][] = new int[Linha][Coluna];
//Gerando a Matriz A LxCo Aij, com i e j valores iguais e sendo gerados aleatoriamente :
System.out.println(" A matriz 'A' é: ");
for (int l = 0; l < Linha; l++) {
for (int co = 0; co < Coluna; co++) {
A[l][co] = r.nextInt(9) + 1;
System.out.print(A[l][co] + " ");
}
System.out.println("");
}
System.out.println("_______________");
//Gerando a Matriz B LxCo Bij, com i e j valores iguais e sendo gerados aleatoriamente :
System.out.println("A matriz 'B' é: ");
for (int l = 0; l < Linha; l++) {
for (int co = 0; co < Coluna; co++) {
B[l][co] = r.nextInt(9) + 1;
System.out.print(B[l][co] + " ");
}
System.out.println("");
}
System.out.println("______________________________");
//Vou efetuar a soma das matrizes A e B;
System.out.println("A soma das matrizes A e B é: ");
for (int l = 0; l < Linha; l++) {
for (int co = 0; co < Coluna; co++) {
Soma[l][co] = A[l][co] + B[l][co];
System.out.print(Soma[l][co] + " ");
}
System.out.println("");
}
System.out.println("______________________________");
//Vou efetuar a subtração das matrizes A e B;
System.out.println(" A subtração das matrizes A e B é: ");
for (int l = 0; l < Linha; l++) {
for (int co = 0; co < Coluna; co++) {
Sub[l][co] = A[l][co] - B[l][co];
System.out.print(Sub[l][co] + " ");
}
System.out.println("");
}
System.out.println("______________________________");
//Vou efetuar a multiplicação das matrizes A e B;
System.out.println(" A multiplicação das matrizes A e B é: ");
for (int l = 0; l < Linha; l++) {
for (int co = 0; co < Coluna; co++) {
Mult[l][co] = A[l][co] * B[l][co];
System.out.print(Mult[l][co] + " ");
}
System.out.println("");
}
}
}[/code]
Uma versão com métodos:
[code]import java.util.*;
public class CalcMatrix {
public static void main(String matrizes[]) {
Scanner in = new Scanner(System.in);
System.out.print("Digite o tamanho da matriz quadrada de valores aleátorios: ");
int Quadrado = in.nextInt();
int A[][] = geraMatriz(Quadrado);
print(A, " A matriz 'A' é: ");
int B[][] = geraMatriz(Quadrado);
print(B, " A matriz 'B' é: ");
int Soma[][] = calc("soma", Quadrado, A, B);
print(Soma, "A soma das matrizes A e B é: ");
int Sub[][] = calc("sub", Quadrado, A, B);
print(Sub, "A subtração das matrizes A e B é: ");
int Mult[][] = calc("mult", Quadrado, A, B);
print(Mult, "A multiplicação das matrizes A e B é: ");
}
public static int[][] geraMatriz(int Quadrado) {
int x[][] = new int[Quadrado][Quadrado];
Random r = new Random();
for (int l = 0; l < Quadrado; l++) {
for (int co = 0; co < Quadrado; co++) {
x[l][co] = r.nextInt(9) + 1;
}
}
return x;
}
public static int[][] calc(String tipoDeCalculo, int Quadrado, int A[][], int B[][]) {
int x[][] = new int[Quadrado][Quadrado];
for (int l = 0; l < Quadrado; l++) {
for (int co = 0; co < Quadrado; co++) {
if (tipoDeCalculo.equals("soma")) {
x[l][co] = A[l][co] + B[l][co];
}
if (tipoDeCalculo.equals("sub")) {
x[l][co] = A[l][co] - B[l][co];
}
if (tipoDeCalculo.equals("mult")) {
x[l][co] = A[l][co] * B[l][co];
}
}
}
return x;
}
public static void print(int x[][], String msg) {
for (int i = 0; i < msg.length(); i++) {
System.out.print("_");
}
System.out.println("");
System.out.println(msg);
for (int l = 0; l < x.length; l++) {
for (int co = 0; co < x.length; co++) {
if (x[l][co] < 0) {
System.out.print(x[l][co] + " ");
} else {
if (x[l][co] < 10) {
System.out.print(" " + x[l][co] + " ");
// ou System.out.print("0" + x[l][co] + " ");
// para ter zero a esquerda no lugar do espaço.
} else {
System.out.print(x[l][co] + " ");
}
}
}
System.out.println();
}
}
}[/code]
Exemplo de saída:
[code]Digite o tamanho da matriz quadrada de valores aleátorios: 4
A matriz ‘A’ é:
05 02 03 09
05 05 06 07
04 07 02 01
08 05 04 08
A matriz ‘B’ é:
06 07 05 05
02 04 09 06
02 04 09 03
09 04 02 02
A soma das matrizes A e B é:
11 09 08 14
07 09 15 13
06 11 11 04
17 09 06 10
A subtração das matrizes A e B é:
-1 -5 -2 04
03 01 -3 01
02 03 -7 -2
-1 01 02 06
A multiplicação das matrizes A e B é:
30 14 15 45
10 20 54 42
08 28 18 03
72 20 08 16 [/code]