Matriz em java

programa que soma de todos os elementos de uma matriz 10x10, contendo números inteiros

int[][] matriz = new int[2][2];
int soma = 0;

    Scanner entrada = new Scanner(System.in);
    System.out.println("Matriz M{10][10]\n");

    for(int linha = 0; linha < 2; linha++){
        for(int coluna = 0; coluna < 2; coluna++){
            System.out.printf("Digite o elemento M[%d][%d]: ", linha+1,coluna+1);
            matriz[linha][coluna] = entrada.nextInt();
        }
    }

    // Somando apenas a coluna 1 agora...

    for(int linha = 0; linha < 2; linha++){
            soma += matriz[linha][1];
    }

    System.out.println("\nA Matriz ficou: \n");
    for(int linha = 0; linha < 8; linha++){
        for(int coluna = 0; coluna < 2; coluna++){
            System.out.printf("\t %d \t", matriz[linha][coluna]);
        }
        System.out.println();
    }
    System.out.println("soma-> "+soma);
}

a) apresentar a soma de todos os valores da matriz?
b) apresentar a matriz com valores somados em cada posição?

sim

Sim o que? São duas opções e nenhuma delas aceita sim ou não como resposta.

Alternativa A

Neste caso, você começou certo, porém, se perdeu no meio da lógica.

Você declarou a soma assim:

int soma = 0;

Está correto, afinal, a soma sempre começa em 0 (exceto quando explicitamente pedido).

Você popula a matriz (muito bem, se funciona numa matriz 2x2, funciona numa 4x4 e numa 10x10).

Porém, a execução da soma você, por alguma razão, fez isso:

Você pode colocar 2 laços de repetição (for aninhados)

for(int i = 0; i < matriz.length; i++) {
    for(int j = 0; j < matriz[i].length; j++) {
        soma += matriz[i][j];
    }
}

Assim você soma todos os valores de cada posição da matriz.
Então:

System.out.println(" Resultado: " + soma);
1 curtida