Programa em java, ler números e dizer qual o maior e menor entre eles não sei onde esta o erro para ler o menor numero

import java.util.Scanner;

public class MaiorNumero {
public static void main(String[] args) {

	//ler numeros e dizer qual o maior e menor entre eles
	
	int numero = 0;
	int contador = 1;
	int soma = 0;
	int maior = 0;
	int menor = 0;
	
	Scanner sc = new Scanner(System.in);
	
	while(contador <=3) {
		System.out.print("Digite um valor: ");
		numero = sc.nextInt();
			if(numero >= maior) {
				maior = numero;
			}
			else if(numero < maior) {
				menor = numero;
			}
		contador++;
		
		soma = soma + numero;
		
	}
	
	System.out.println("A soma entre os valores " + soma);
	System.out.println("O maior numero é: " + maior);
	System.out.println("O menor numero é: " + menor);
	sc.close();
}

}

1 curtida

Tem alguns problemas na lógica:

int menor = Integer.MAX_VALUE; //Inicializar com 0 aqui não vai dar certo, pq os únicos números menores que 0 são negativos. Inicializando com o maior número possível resolve isso.
//Resto


if(numero > maior) {
	maior = numero;
}
if(numero < menor) { //aqui removi o else e mudei para verificar com relação ao menor
	menor = numero;
}
1 curtida

Obrigada!