Incrementação de Strings

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 ++;

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");

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!!

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.

use:

if (sexo.equalsIgnoreCase("f"))

abraços

[/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!

[quote=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!!![/quote]

faça isso ++cont_sexo; e veja o resultado! :smiley: lembre-se F é diferente de f, veja se ta passando corretamente a string para entrar no if :smiley: