Problema na utilização utilização do Scanner com String

Ola pessoal, sou novo no fórum e iniciante em programação. Estou com um problema que não consigo desvendar, desde ja agradeço quem puder dar um auxílio.
Bom acontece o seguinte, quando faço a String palavra receber um dado digitado pelo teclado, simplismente passa batido, porém quando foi solicitado para ler um número inteiro, fez corretamente… o que pode estar ocorrendo?

[code]import java.util.Scanner;
public class biblioteca {

public static void main(String[] args)
{
	Scanner sc  = new Scanner (System.in);
	int qtdPalavras;
	String [] lista;
	String palavra;
	System.out.println("Digite a qtd de palavras a serem inseridas na biblioteca: ");
	qtdPalavras = sc.nextInt();
	lista = new String [qtdPalavras];
	System.out.println("Digite a 1 palavra: ");
	palavra=sc.nextLine();//variável palavra não esta recebendo dados digitados no teclado
	System.out.println(palavra);
}

}[/code]

Tirei o Line do nextLine, tente agora.

import java.util.Scanner;  
public class Teste {  
  
    public static void main(String[] args)  
    {  
        Scanner sc  = new Scanner (System.in);  
        int qtdPalavras;  
        String [] lista;  
        String palavra;  
        System.out.println("Digite a qtd de palavras a serem inseridas na biblioteca: ");  
        qtdPalavras = sc.nextInt();  
        lista = new String [qtdPalavras];  
        System.out.println("Digite a 1 palavra: ");  
        palavra=sc.next();//variável palavra não esta recebendo dados digitados no teclado  
        System.out.println(palavra);  
    }  
  
} 

Cara, jurava que tinha tentado isso… De qualquer forma tentei como quem não quer nada só pra ter certeza e deu certo.
vlw javatar!

É melhor entender o problema… e porque a solução apontada ainda não é a correção definitiva dele.

No teclado, você só informa texto, sempre teminado com a quebra de linha \n.
Mesmo que o usuário digite um número, ele estará na forma de texto, com \n.

Portanto, quando usar o Scanner para ler do teclado, o único método que deve ser usado, para nunca dar problema, é o nextLine().

Seu código corrigido:

import java.util.Scanner;  
public class Teste {  
  
    public static void main(String[] args)  
    {  
        Scanner sc  = new Scanner (System.in);  
        System.out.println("Digite a qtd de palavras a serem inseridas na biblioteca: ");  
        int qtdPalavras = Integer.parseInt(sc.nextLine());
        String lista[] = new String [qtdPalavras];  
        System.out.println("Digite a 1 palavra: ");  
        String palavra=sc.nextLine();//variável palavra não esta recebendo dados digitados no teclado  
        System.out.println(palavra);  
    }  
  
} 

Outros métodos “next()” irão deixar o \n no buffer do scanner e pode ser que só ele seja lido numa próxima leitura.
Eles foram feitos para arquivos.

Sabia que tinha algo assim, mas não sabia direito o que era.
Obrigado tbm.