Duvida com exercicio

Ola galera, não estou conseguindo resolver este exercicio. Segui codigo.
Exercicio:
[size=10]
Programa em Java dos patinhos da Xuxa
Xuxa, a rainha dos baixinhos, criou uma música que tem o segunte formato:

n patinhos foram passear
Além das montanhas
Para brincar
A mamãe gritou: Quá, quá, quá, quáMas só n-1 patinhos voltaram de lá.

Que se repete até nenhum patinho voltar de lá.
Ao final, todos os patinhos voltam:

A mamãe patinha foi procurar
Além das montanhas
Na beira do mar
A mamãe gritou: Quá, quá, quá, quá
E os n patinhos voltaram de lá.

Crie um programa em Java que recebe um inteiro positivo do usuário e exibe a música inteira na tela, onde o inteiro recebido representa o número inicial n de patinhos que foram passear.[/size]

Codigo:

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

/**
 * @param args
 */
public static void main(String[] args) {
	int inicialPT=5, // Patos inicias
		pqn=1, //PQN== Patos Que Não Voltaram
		Valor_min=0;
		
	
	
	
	System.out.printf("Este programa vai reproduzir a musica dos patos da xuxa, com os patos inicias de %d e patos que não voltaram %d\n", inicialPT, pqn);
	
	while (inicialPT <  pqn ) {
		
		System.out.printf("%d patinhos foram passear " +
				"Além das montanhas "+
				"Para brincar "+
				"A mamãe gritou: Quá, quá, quá, quá Mas só %d patinhos voltaram de lá.\n", inicialPT, pqn--);
		

		System.out.printf("%d patinhos foram passear " +
				"Além das montanhas "+
				"Para brincar "+
				"A mamãe gritou: Quá, quá, quá, quá Mas só %d patinhos voltaram de lá.\n", inicialPT, pqn--);
	

		System.out.printf("%d patinhos foram passear " +
				"Além das montanhas "+
				"Para brincar "+
				"A mamãe gritou: Quá, quá, quá, quá Mas só %d patinhos voltaram de lá.\n", inicialPT, pqn--);
	
		
		System.out.printf("%d patinho foi passear " +
				"Além das montanhas "+
				"Para brincar "+
				"A mamãe gritou: Quá, quá, quá, quá Mas só que %d patinho voltou de lá.\n", inicialPT, pqn--);
	
	
		
										
	}
	
	System.out.printf("A mamãe patinha foi procurar "+
	"Além das montanhas "+
	"Na beira do mar "+
	"A mamãe gritou: Quá, quá, quá, quá "+
	"E os 5 patinhos voltaram de lá.");
	
	
	
	
}

}
[/code]

Pode ser que eu tenha entendido errado mas acho que você esta fazendo errado.

Pelo que eu entendi da questão você deve:
1.Pedir que o usuário entre com um valor inteiro e ler;

2.Repetir a exibição do refrão:
"n patinhos foram passear
Além das montanhas
Para brincar
A mamãe gritou: Quá, quá, quá, quá
Mas só n-1 patinhos voltaram de lá. "
decrementando n ate n==0;

  1. Exibir ao final do laço:
    "A mamãe patinha foi procurar
    Além das montanhas
    Na beira do mar
    A mamãe gritou: Quá, quá, quá, quá
    E os n patinhos voltaram de lá. "

Como você deve manter o valor inicial de n para pode exibir no final basta usar outra variável para manter o valor de n.

[i]Blz brother, usa um for pra esse programa é bem mais simples, testei aqui e funcionou perfeitamente, só subistitui a letra da musica por "bla, bla, bla …

O while vai repetir tudo o que estiver “dentro dele” até que determinada condição seja alcançada, então vc não precisa escrever o codigo uma infinidade de vezes.[/i]

[code]
int a = 10;
int b = 0;

while (a > b) {
System.out.println("Valor de a é "+ a + ", mudando para " +b);
a–;
}
[/code][i]Se não souber como usar o for, deve existir um milhão de posts sobre isso no forum, sem dizer no google, tenta pesquisar antes de postar a sua duvida, garanto que vc vai conseguir aprender muito mais desse jeito.

Boa Sorte!
[/i]

[quote=Erick09]Pode ser que eu tenha entendido errado mas acho que você esta fazendo errado.

Pelo que eu entendi da questão você deve:
1.Pedir que o usuário entre com um valor inteiro e ler;

2.Repetir a exibição do refrão:
"n patinhos foram passear
Além das montanhas
Para brincar
A mamãe gritou: Quá, quá, quá, quá
Mas só n-1 patinhos voltaram de lá. "
decrementando n ate n==0;

  1. Exibir ao final do laço:
    "A mamãe patinha foi procurar
    Além das montanhas
    Na beira do mar
    A mamãe gritou: Quá, quá, quá, quá
    E os n patinhos voltaram de lá. "

Como você deve manter o valor inicial de n para pode exibir no final basta usar outra variável para manter o valor de n.

[/quote]

Cara não consegui fazer o programa parar quando chegar a zero!
Segui codigo:

[code]while ( n >= 0) {

		System.out.printf("%d patinhos foram passear " +
				"Além das montanhas "+
				"Para brincar "+
				"A mamãe gritou: Quá, quá, quá, quá Mas só %d patinhos voltaram de lá.\n",n);
		
	
		n--;
		System.out.printf("%d patinhos foram passear " +
				"Além das montanhas "+
				"Para brincar "+
				"A mamãe gritou: Quá, quá, quá, quá Mas só %d patinhos voltaram de lá.\n",n);
		
		
		n--;
		System.out.printf("%d patinhos foram passear " +
				"Além das montanhas "+
				"Para brincar "+
				"A mamãe gritou: Quá, quá, quá, quá Mas só %d patinhos voltaram de lá.\n",n);
		
		
		n--;
		System.out.printf("%d patinho foi passear " +
				"Além das montanhas "+
				"Para brincar "+
				"A mamãe gritou: Quá, quá, quá, quá Mas só que %d patinho voltou de lá.\n",n);
		
		
		}[/code]

Quanto ao código entenda que o while e uma estrutura de repetição, ou seja, o computador vai repetir o código enquanto a condição de repetição for verdadeira,
ou seja você não precisa repetir o código dentro do while.

    int meuNumero = 5;              
    while (meuNumero  > 0) //Essa é minha condição de repetição, enquanto ela for verdadeira o código entre chaves continuará executando
   {  
        System.out.println("Valor de a  é "+ a );  
        meuNumero --; //Aqui eu estou diminuindo/decrementando o valor de meuNumero para que o laço termine de executar
    }  

Veja que se eu remover a linha onde a variável 'meuNumero ’ e decrementada, a condição de repetição nunca deixará de ser verdade e o código permanecerá executando “eternamente”(o famoso erro do loop infinito).

Veja a apostila da Caelum com certeza vai ser de grande ajuda para você

Alias nesse segundo código tem um erro no printf:

System.out.printf("%d patinhos foram passear " +  
                    "Além das montanhas "+  
                    "Para brincar "+  
                    "A mamãe gritou: Quá, quá, quá, quá Mas só %d patinhos voltaram de lá.\n",n);

O codigo esta pedindo duas variáveis mas só esta passando uma.