MATRIZ ou Array bidimensional em Java

OI GALERA! Gostaria de compartilhar a seguinte função em java que usa matriz quadrada, ( onde o numero de linhas e colunas são iguais) , de números inteiros de ordem N ( onde N >=4) e depois retorne a soma dos elementos presentes nas ultimas 4 linhas da matriz.
Por favor, teriam como me ajudar para que eu saiba se estou indo bem? Obrigada!!
RESOLUÇÃO,

public static int add (matriz [][]) {
int add=0; i=0, j=0;

if (N>=4) { // essa parte aqui acredito não estar correta , alguém opina por favor!
for ( i = matriz.lenght-4;i<matriz.lenght;i++) {
for( j=0;j<matriz[i].lenght;j++) {
add=add+matriz[i][j];
}
}
}
return add;
}

public class bel1 {

}
public static int soma(array [][]) {
int add=0; i=0;j=0;
if (N>=4) {
for ( i = matriz.lenght-4;i<matriz.lenght;i++) {
for( j=0;j<matriz[i].lenght;j++) {
add=add+matriz[i][j];
}
}
}
return add;
}

to fazendo assim mais esta dando erro nas 3 primeiras linhas ;( e na parte do if (n>=4) nao tenho certeza se esta correto, …

Bom a primeira coisa a fazer é acertar a assinatura (nome com parametros e tipo de retorno) do método, sua soma precisa de um array de inteiros certo? logo:

public static int soma(int[][] matriz) {
    ...
}

E dentro dela pelo que entendi não há necessidade de testar o N, alias vc nem o declarou ou criou ai no código só está chamando “ao vento” por assim dizer, logo, imagino que vc deveria ir direto para o for:

public static int soma(int[][] matriz) {
    int soma = 0;
    for (int i = matriz.length - 4; i < matriz.length; i++) { //length e não lenght
        for(int j = 0; j < matriz[i].length; j++) {
            soma += matriz[i][j]; //mesmo que antes apenas com atalho
        }
    }
    return soma;
}
  1. Nomear suas variaveis de acordo com o que elas fazem ajuda na leitura do código;
  2. Fiquei na duvida quanto ao N no enunciado, ele se refere ao tamanho da matriz (>= 4 x 4) ou ao valor minimo para cada elemento dentro dela? ex: ([[4,5,6,7], [10,5,8,12]…]) e dependendo da resposta, são formas diferentes de validar…

No mais sua lógica está boa, continue assim e parabéns pelo esforço!

1 curtida