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!
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: :wink:](https://www.guj.com.br/images/emoji/twitter/wink.png?v=9)
Valeu Volnei!
Assim funcionou!!! ![:smiley: :smiley:](https://www.guj.com.br/images/emoji/twitter/smiley.png?v=9)