Duvida sobre for e while (resolvido)

3 respostas
N

Bom, eu estou bem no começo de programação em java,
aprendi que uso while para ir repitindo ate que alguma condição seja “acertada” e o for eu uso pra repetir qtas vezes eu quero.
Estou fazendo um exercicio, onde eu preciso que o usuario digite uma senha
se ele acertar aparece “bem vindo” se não “senha invalida”
Ele pode digitar até 3 vezes… e no meio das 3 ele pode acertar ou não. Mas se em 3 ele não acertar, então a parece “acesso negado”
Minha duvida é que eu usaria o while, uma vez q o usuario pode acertar de primeira ou nas proximas tentativas
Mas como usar um while, limitado a tres tentativas?
Ou o que eu posso fazer?
Obrigado

3 Respostas

Andre_Brito

Cara, muita calma nessa hora.
Tanto o while quanto o for tem o mesmo propósito: iterar. O que você faz com o while, você consegue fazer com o for e vice-versa.

Por exemplo, pra esse seu caso, você pode escolher entre usar um dos dois.
Com while:

String senhaCorreta = "asd";
String senhaDigitada;
int quantidadeDeVezesTentadas = 0;
int quantidadeDeVezesPossiveis = 3;
while (quantidadeDeVezesTentadas < quantidadeDeVezesPossiveis) {
    senhaDigitada = leitor.readLine();
    if (senhaDigitada.equals(senhaCorreta)) break;
    else quantidadeDeVezesTentadas++;
}

Com for:

String senhaCorreta = "asd";
String senhaDigitada;
int quantidadeDeVezesTentadas = 0;
int quantidadeDeVezesPossiveis = 3;
for ( ; quantidadeDeVezesTentadas < quantidadeDeVezesPossiveis; quantidadeDeVezesTentadas++) {
    senhaDigitada = leitor.readLine();
    if (senhaDigitada.equals(senhaCorreta)) break;
}

Não testei nenhum dos códigos, mas deve ser mais ou menos isso. Certo?

N

AA Obrigadooo ;D

C

Ola,

Eu usuaria o while da seguinte forma:

while (tentativas <= 3){

string senha_digitada = <>

if(senha_digitada == 1234) {

print acertou;

break;

}

else { print senha invalida;}

tentativas += 1;

}
Criado 3 de setembro de 2009
Ultima resposta 3 de set. de 2009
Respostas 3
Participantes 3