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;
}
- Nomear suas variaveis de acordo com o que elas fazem ajuda na leitura do código;
- 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