Incrementação de Strings

7 respostas
U

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

7 Respostas

emmanuel.silva

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

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

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

use:

if (sexo.equalsIgnoreCase("f"))

abraços

U

[/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! :smiley: lembre-se F é diferente de f, veja se ta passando corretamente a string para entrar no if :smiley:

Criado 16 de abril de 2007
Ultima resposta 16 de abr. de 2007
Respostas 7
Participantes 6