Flash code sobre comparação de strings

oi gente, sou iniciante e estou com dificuldade pra desenvolver esse algoritmo, que na verdade é um código rápido, se alguém puder me ajudar…
Escreva um programa que solicite a entrada de uma string e identifique quando foi digitado “sim” (com qualquer tipo de letras, maiúsculas ou minúsculas) e pare quando o usuário digitar “não”.

Coloque o código dentro de um while.
Pegue a entrada com um Scanner.
Compare a entrada com equalsIgnoreCase, ex.:

String entrada = //inicialize
if (entrada.equalsIgnoreCase("sim")) {
    //Digitou sim
} else if (entrada.equalsIgnoreCase("não")) {
    //Digitou não
} else {
    //Digitou qualquer outra coisa
}

Ou então pode-se utilizar o Switch:

String entrada = //inicialize
Switch(entrada){
case "Sim":
    //caso for Sim ele executará isto
    break;
case "Não":
    //Caso for Não ele executará isto
    break;
default:
    //Qualquer outro valor que não foi definido na verificação
    break;
}

Aí não pegaria “sim” ou “'não”. (case diferente)

Nada que um .toUpperCase() na string não resolva…

Switch(entrada.toUpperCase())

Acho em caso de vários IF/ELSE o switch uma forma muito mais organizada e clean de se trabalhar múltiplas condições.

Eu sei que não foi isso que ela perguntou, mas apenas por curiosidade:

Como vocês fariam se mantivesse a entrada aberta (o usuário vai digitando em tempo real, sem apertar enter), e o código testando em tempo real se os três últimos caracteres são “não”?

Obrigado.

@Fefo80


Pelo que li seria um código dependente de plataforma.

1 curtida

Muito interessante. Obrigado.

1 curtida