Olá pessoal, sou novo no fórum e iniciante no java não soube onde postar a pergunta, por isso abrir um novo tópico, caso exista um local específico para a pergunta favor me informar. Estou c/ a seguinte dúvida:
- não consigo validar uma informação comparando STRINGS, utilizando o WHILE.
- consigo validar quando é usado um char na comparação.
- o que eu quero é que quando o usuário digite algo que seja diferente de SIM e NÃO, apareça a mensagem (resposta inválida. digite a resposta novamente. resposta - SIM / NÃO) e só passe para a próxima linha assim que ele digitar a resposta certa, como está ocorrendo com o SEXO.
-tentei utilizar o sinal de diferença (!=) como no SEXO, e também o EQUALS, mas nenhum dos dois comandos conseguiu me retornar a informação (resposta inválida. digite a resposta novamente. resposta - SIM / NÃO), quando o usuário digita a resposta errada. Se puderem me ajudar agradeço.
O trecho do código segue abaixo:
for (i = 0; i <= 1; i++)
{
for (j = 0; j <= 1; j++)
{
sexo[i][j] = JOptionPane.showInputDialog(“sexo - F / M”).charAt(0);
while ((sexo[i][j] != 'f') && (sexo[i][j] != 'm')) //validação usando variáveis CHAR
{
sexo[i][j] = JOptionPane.showInputDialog("sexo inválido. digite novamente o sexo - F / M").charAt(0);
}
resposta[i][j] = JOptionPane.showInputDialog("você gostou do novo produto? - SIM / NÃO");
//while ((resposta[i][j] != "sim") && (resposta[i][j] != "nao")) ===> 1º MÉTODO USADO
// while ((resposta[i][j].equals("sim")) && (resposta[i][j].equals("nao"))) 2º MÉTODO USADO
{
resposta[i][j] = JOptionPane.showInputDialog("resposta inválida. digite a resposta novamente. resposta - SIM / NÃO");
}
}
}