Menor número [RESOLVIDO]

Srs, boa noite. Mas uma vez venho perturbar vocês. Estou tendo dificuldade no raciocínio lógico no exercício abaixo. Tenho 02 dúvidas. Uma é em encontrar o menor número na instrução if e a outra é: Porque tenho que inicializar a variável número se estou pedindo que o usuário digite um número qualquer. Sempre que deixo a variável sem inicialização o programa não roda. Poderiam me dar um help ?

/** 5.11 - Escreva um aplicativo que localiza o menor de vários inteiros. Assuma que o primeiro valor lido especifica o número de valores a serem
*   inseridos pelo usuário.
*/

import java.util.Scanner;

public class MenorInserido
{
	public static void main (String args [])
	{
		Scanner entrada = new Scanner(System.in);
		
		int cont;
		int numero = 0;
		int menor = numero;
		
		System.out.printf("\nDigite a quantidade de números a serem digitados: ");
		int digitados = entrada.nextInt();
		
		System.out.printf("Quantidade de números a digitar: %d\n\n",digitados);
		
		System.out.printf("Digite um número: ");
		numero = entrada.nextInt();
		
		//Laço FOR para contar a quantidade de valores digitados
		for( cont = 2 ; cont <= digitados ; cont++ )
		{
			
			System.out.printf("Digite outro número: ");
			numero = entrada.nextInt();
		
			
			
		}
		
		if( numero < menor )
		{
			menor = numero;
				
		}
		
		System.out.printf("O menor número digitado foi: %d\n",menor);	
		
		
	}
	
}

Mais uma vez agradeço. Estou realmente perturbando porque tenho interesse em aprender a linguagem mas algumas dúvidas as vezes atrapalham.
Abs,

resposta a pergunta 2:

Quando vc declara uma variavel dentro de um método, ela obrigatóriamente deve ser inicializada.
A variavel so eh inicializada com valor default quando ela eh declarada fora de um metodo.

sobre o if…
a comparação if deve ficar dentro do loop de leitura… vc faz a comparação do atual numero digitado com o menor numero que vc tem armazenado.


for (cont = 2; cont <= digitados; cont ++) {
System.out.print...
numero = entrada.nextInt();

//o if vai aqui.

[]'s

Em relação ao teres de inicializar a variável número com o valor, isto acontece porque na linha seguinte estás a dizer que menor é igual a numero (e numero terá de ter um valor para se poder fazer isso.)

Se colocares essa atribuição só depois de ler o número do utilizador já não tens de fazer a inicialização a zero.

Em relação à lógica em si, tens realmente de mudar o if para dentro do for.

Em vez disso :

 System.out.printf("Digite um número: ");  
         numero = entrada.nextInt();  

fora do laco poe isso :

System.out.printf("Digite um número: ");  
      menor = entrada.nextInt();  

Pessoal,
Obrigado pela ajuda ! funcionou. O problema foi a alocação das variáveis nos lugares certos.
Abraço.