Galera sou novo no ramo da programação e estou iniciando agora em java, acredito que a minha duvida seja boba porem ja estou a 2 dias tentando chegar numa solução.
Ja dei uma vasculhada no forum e nao achei nada semelhante, bom ai vai o codigo!
int contador;
contador = 0;
while (contador <=3)
{
{
if (Ic_pai > Pai_idade) // Ic_pai é a Idade do Filho , e Pai_idade é a idade do pai.
System.out.println("Confirme a data de Nascimento do pai" + Pai_idade);
DATA_PAI.setText("");
DATA_PAI.requestFocusInWindow();
}
contador = contador + 1;
}
Bom a intenção seria um Redigite na data de nascimento do pai , e mesmo estando errada passar após confirmar 3 vezes.
Porem da forma que se encontra o código ele da a mensagem de erro porem nao volta para redigitar e segue executando o resto do codigo.
Valeu!!!
int contador;
contador = 0;
while (contador <=3)
{
{
while (Ic_pai > Pai_idade){
System.out.println("Confirme a data de Nascimento do pai" + Pai_idade);
DATA_PAI.setText("");
DATA_PAI.requestFocusInWindow();
}
}
contador = contador + 1;
# }
while (contador <=3)
{
{
while (Ic_pai > Pai_idade){
System.out.println(“Confirme a data de Nascimento do pai” + Pai_idade);
DATA_PAI.setText("");
DATA_PAI.requestFocusInWindow();
}
}
contador = contador + 1;
}
[/code][/quote]
Ainda nao rolou amigao.
Entrou em loop infinito no System.out.println(“Confirme a data de Nascimento do pai” + Pai_idade);
O que são esses “{” dentro do while? Acho que você não precisa deles.
int contador = 0;
while (contador <=3)
{
if (Ic_pai > Pai_idade) // Ic_pai é a Idade do Filho , e Pai_idade é a idade do pai.
System.out.println("Confirme a data de Nascimento do pai" + Pai_idade);
DATA_PAI.setText("");
DATA_PAI.requestFocusInWindow();
contador = contador + 1;
}
Repare bem no que você está fazendo… Se precisar que o DATA_PAI.setText("") aconteça somente se a condição do if for verdadeira, você precisa usar “{” e “}” pra abranger toda o código que deve acontecer se a condição for verdadeira.
[quote=Andre Brito]O que são esses “{” dentro do while? Acho que você não precisa deles.
int contador = 0;
while (contador <=3)
{
if (Ic_pai > Pai_idade) // Ic_pai é a Idade do Filho , e Pai_idade é a idade do pai.
JOptionPane.showMessageDialog(this,"Confirme a data de Nascimento do pai" + Pai_idade);
DATA_PAI.setText("");
DATA_PAI.requestFocusInWindow();
contador = contador + 1;
}
Repare bem no que você está fazendo… Se precisar que o DATA_PAI.setText("") aconteça somente se a condição do if for verdadeira, você precisa usar “{” e “}” pra abranger toda o código que deve acontecer se a condição for verdadeira.[/quote]
André desta maneira que vc citou executa o DATA_PAI.setText("") , porem ele nao me da opção de redigitar o campo da data de nascimento e apos a 3º repeticao do while ele assume a data digitada inicialmente e salta para o proximo campo.
olha, as chaves do if estao faltando. tenta dessa forma:
int contador;
contador = 0;
while (contador <=3){
if (Ic_pai > Pai_idade) {
System.out.println("Confirme a data de Nascimento do pai" + Pai_idade);
DATA_PAI.setText("");
DATA_PAI.requestFocusInWindow();
}
contador++;
}