Pessoal, to apanhando em algo aparentemente fácil!
Acontece que eu preciso incrementar um contador toda vez que é digitado o caracter ‘F’ em uma variável (String) declarada…
Eu to fazendo isto:
System.out.println("\nInforme o sexo da pessoa: ");sexo=entrada.next();if(sexo==“F”)cont_sexo++;
Pois bem, acontece que não está incrementando de jeito algum…eu fiz um teste imprimindo o valor de cont_sexo após digitar “F” e o valor impresso continua 0!!
Desconfio que tenha algo a ver com o fato de ser uma variável String, porém, tentei fazer com Char e não consigo!!!
Utilize o metodos equals para fazer a comparação de strings
System.out.println("\nInforme o sexo da pessoa: ");sexo=entrada.next();if(sexo.equals("F"))cont_sexo++;
LuizLG
Sempre que for fazer comparações com string utilize suaString.equals(“stringProcurada”).
Ex:
sexo.equals("F");
Se vc quiser saber se determinada palavra está dentro da string, é só utilizar:
sexo.contains("Fem");
U
Unicolas_AAPP
Valeu pessoal, funcionou direitinho, vcs são feras!!
E no caso de eu usar char???
Na hora de testar eu coloco um caracter qualquer e dá pau!!
olha o código:
System.out.println("\nInforme o sexo da pessoa: ");sexo=(char)entrada.nextInt();if(sexo==‘F’)cont++;
Imagino que deva ser por causa do “Int” após o next, mas se não for assim ne rodar roda!!
T
thingol
nextInt supõe que o valor entrado seja um inteiro decimal. Então você teria de entrar com o valor decimal 70 (“F”) ou 77 (“M”), o que, convenhamos, não é muito razoável. Para provar o que eu afirmei, tente rodar seu programa com a modificação que você quis efetuar, e entre com 70 ou 77.
K
kikoblues
use:
if(sexo.equalsIgnoreCase("f"))
abraços
U
Unicolas_AAPP
[/b]Thingol[b]
De fato funcionou da forma que vc me disse (código 70), porém, não é muito usual esta forma…não teria um modo de eu simplesmente digitar o caracter ‘F’??
[/b]kikoblues[b]
Valeu aí…funcionou o modo postado por vc!
LPJava
Unicolas AAPP:
Pessoal, to apanhando em algo aparentemente fácil!
Acontece que eu preciso incrementar um contador toda vez que é digitado o caracter ‘F’ em uma variável (String) declarada…
Eu to fazendo isto:
System.out.println("\nInforme o sexo da pessoa: ");sexo=entrada.next();if(sexo==“F”)cont_sexo++;
Pois bem, acontece que não está incrementando de jeito algum…eu fiz um teste imprimindo o valor de cont_sexo após digitar “F” e o valor impresso continua 0!!
Desconfio que tenha algo a ver com o fato de ser uma variável String, porém, tentei fazer com Char e não consigo!!!
faça isso ++cont_sexo; e veja o resultado! lembre-se F é diferente de f, veja se ta passando corretamente a string para entrar no if