Olá,
Estou fazendo um programa e peço uma resposta em String ( S ou N ), como faço para comparar, pois tentei o código abaixo e não deu certo…
if (var == "S") ...
Olá,
Estou fazendo um programa e peço uma resposta em String ( S ou N ), como faço para comparar, pois tentei o código abaixo e não deu certo…
if (var == "S") ...
String var = “N”;
if (var.equals(“N”)) {
System.out.println(“Sim! var é igual à N”);
}
[quote=“tfguitar”]Olá,
Estou fazendo um programa e peço uma resposta em String ( S ou N ), como faço para comparar, pois tentei o código abaixo e não deu certo…
if (var == "S") ...
tente usar:
if(var.equals("S"))
vc deve estar se perguntando, qual a diferença entre o operador == e o método equals()…
Exemplo:
[code]public class Teste
{
public static void mais(String args[])
{
int a = 10;
int b = 10;
System.out.println("a == b é " + (a == b));
Integer ia = new Integer(10);
Integer ib = new Integer(10);
System.out.println("ia == ib é " + (ia == ib));
}
}[/code]
a execução dessa classe gera a seguinte saída:
[quote]a == b é true
ia == ib é false
[/quote]
as variáveis a e b são do tipo int, ou seja são tipos primitivos e não possuem nenhum objeto associado a elas…
já as variáveis ia e ib são referências de objeto Integer
as variáveis de tipo primitivo a e b, possuem o valor 10… as referências de objeto ia e ib, são na realidade referências a dois objetos Integer diferentes que também possuem o valor 10…
portanto os valores de ia e ib não são 10, mas sim valores exclusivos que representam os dois objetos…o operador == testa a igualdade…
para testar valores referênciados use o método equals(), que testa o valor, igualdade ou semântica!!!
Pesquise sobre o método charAt(), ele dá a localização exata do caracter na string em questão, por exemplo:
…
String nome;
nome = new String(“Eu mesmo”);
nome.charAt(1);
…
nesse caso você estará se referindo à letra u, lembrando que as strings começam em 0.