Tabela com Matriz

Eu estava tentando fazer uma tabela 10x10 que recebia resultados do usuário e colocava na tabela, logo depois ela iria somar os resultados que colocou na tabela, como se fosse uma tabela do excel, mas eu não consigo fazer com que ele leia o resultado que digitou

package tabela;

import javax.swing.JOptionPane;

public class Tabela {

public static void main(String[] args) {
    
    int matriz [][] = new int [10][10];
    int valor;
    
    for (int linha= 0; linha<10; linha++) {
        for (int coluna=0; coluna<10; coluna++) {
            matriz = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o valor da Linha " +linha+ " e Coluna " +coluna));
            JOptionPane.showMessageDialog(null, "Linha [" +linha+ "] coluna [" +coluna+ "] = "+matriz [linha][coluna]);
        }
    }

Essa linha parece que está errada. Em vez de atribuir o valor na variável matriz diretamente, vc deve inserir na matriz indicando a linha e coluna:

matriz[linha][coluna] = Integer.parseInt(JOptionPane.showInputDialog(
    null, "Digite o valor da Linha " + linha + " e Coluna " + coluna));

mas aí como eu faço para somar os resultados que foram colocados na tabela, vamos dizer que eu coloquei na linha 1 coluna 1 o número 3, e na linha 1 coluna 2 eu coloquei o número 8, como eu faço para somar esses números

int soma = matriz[1][1] + matriz[1][2];

Vc sempre irá usar os índices da linha e coluna para acessar o valor e fazer o calculo que precisar.

entendi, obrigado!

1 curtida

só mais uma pergunta, como minha tabela é 10x10 ele deu o erro “ArrayIndexOutOfBoundsException: 10” como faz para resolver isso?

Esse erro acontece quando vc tenta acessar uma posição que não existe na matriz. Por exemplo:

A seguinte matriz de 10x10:

int[][] matriz = new int[10][10];

Dessa forma, a matriz vai da linha e coluna 0 até a linha e coluna 9 (o índice começa em zero, por isso não vai até o 10).

Ao tentar acessar o valor na linha 10 e coluna 10:

int valor = matriz[10][10];

vai estourar essa exception: ArrayIndexOutOfBoundsException.