If não funciona como deveria!

Olá amigos!

Tenho uma dúvida, imagino ser coisa simples, mas não consigo

fazer funcionar



É o seguinte, através de uma caixa de entrada leio um

caracter e verifico se o mesmo é um caracter esperado (S ou

s) para prosseguir. Acontece que mesmo informando o

caraceter "s" o programa diz que não é "s"!

Se imprimo o conteúdo da variável antes da verificação a

mesma contém "s" como era de se esperar, mas nunca o IF entra

em sua parte verdadeira.



Exemplo:



Code:


String variavel;

variavel = JOptionPane.showInputDialog("S para Sim, N para

Não");



System.out.println(variavel); //imprime s



if (variavel == "s" || variavel = "S")

System.out.println("Leu S");

else

System.out.println("Nao leu S");



// independente do que foi digitado na caixa de entrada

imprime sempre: Não leu S








Alguém pode me exclarecer o que acontece?



Muito Obrigado! :smiley:

Use if (variavel.equals("s")) …



Da forma que você declarou ele estava comparando se a referência do objeto variável era a mesma do objeto anônimo "s"!





Valeu?



Volnei Granado Munhoz :wink:

Valeu Volnei!

Assim funcionou!!! :smiley: