loops-e-arrays
loops-e-arrays copied to clipboard
Erro em código: ArrayMultidimensional
Oii Cá!
Acho que sem querer teve uma confusão no seu código ao atribuir Integer.MIN_VALUE para o menor valor, o certo seria atribuir Integer.MAX_VALUE, pois desta forma qualquer novo valor será menor que o valor máximo atribuído. Aqui no meu código deu certo com o Integer.MAX_VALUE, conforme me ensinou anteriormente na outra dúvida.
" //variáveis
int menor = **Integer.MIN_VALUE**; //variável que guarda o menor valor
int linha = 0, coluna = 0; //posição inicial da linha e da coluna"
Abraços
Então, Gi. O correto é int menor = Integer.MAX_VALUE; tá?
Para guadar o menor valor, você precisa declara assim: int menor = Integer.MAX_VALUE;
A gente atribui o maior valor de um inteiro possível para essa variável menor, porque quando acontecer o primeiro laço de repetição, qualquer número que você digitar, será menor que o valor representado por int menor = Integer.MAX_VALUE;
E o mesmo acontece quando você armazenar o maior valor. int maior = Integer.MIN_VALUE; qualquer valor que você informar será maior do que o valor representado por int menor = Integer.MAX_VALUE;
Vou te mostrar um exemplo de código abaixo que você copiar e colocar na sua IDE para entender essa lógica:
import java.util.Scanner;
//Informe 4 números e imprima o menor e o maior deles
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int numero = 0;
int maiorNumero = Integer.MIN_VALUE;
int menorNumero = Integer.MAX_VALUE;
System.out.println("Antes de começar o laço: ");
System.out.println("Maior = " + maiorNumero + " Menor = " + menorNumero);
System.out.println("Depois de começar o laço: ");
for(int i = 1; i <= 4; i++) {
System.out.print("Digite o valor aqui: ");
numero = scan.nextInt();
if (numero > maiorNumero) {
maiorNumero = numero;
}
if (numero < menorNumero) {
menorNumero = numero;
}
System.out.println(i + " Laço: Maior = " + maiorNumero + " Menor = " + menorNumero);
}
}
}

Essas constantes, servem para você começar o laço de repetição. Qualquer valor que você informar irá substituir eles. Conforme foi feio acima. Só para conhecimento, abaixo segue os valores das constantes.

E aí, ajudou? Qualquer coisa é só falar.
Oii Cá! Sim, eu tinha entendido isso. Estava informando apenas que no seu exemplo de código comentado está errado, atribuindo MIN_VALUE para o menor valor, sendo que o correto seria MAX_VALUE. O pedaço de código copiado que enviei é o exemplo de código que a professora deu. Dá uma olhadinha lá depois, só estou avisando porque pode acabar confundindo os outros alunos! Eu acabei percebendo que estava errado, porque a professora já tinha me explicado sobre o assunto anteriormente e corrigi sozinha, mas talvez o pessoal confunda.
Mas muito obrigada pela explicação detalhada!
Abraços
Eita, Gi. Não vi onde eu atribui os valores errados a s variáveis menor e maior. :( Poderia me mostrar para que eu conserte? Na issue anterior que nós estávamos conversando, foi atribuído corretamente:

Ah nada, precisando e eu puder ajudar, é só falar. É um prazer ajudar. (:
Oiii Cami! Claro! Segue um print para você localizar mais fácil: loops-e-arrays/ src / br / com / dio / exercicios / arrays / comentado / ArrayMultidimensional.java

Aaaah, show! Muito obrigada! vou corigir agorinha! <3 https://github.com/cami-la/loops-e-arrays/commit/2c84ee9c40094afe1de1f0e011f8415074ff8ea3