"? :" qual o verdadeiro funcionamento?

3 respostas
tr3t4

to com uma duvida aqui: o codigo:

<blockquote>public void setTempo(int h, int m, int s)

{

hora = (h > 0, h < 24) ? h : 0 );

}</blockquote>

nao entendi direito, mas ele quiz dizer que a variavel h tem que ser maior que zero e menor que 24…ate ai tudo bem…agora quiz fazer uma condição? tipo…se h for diferente de zero ??

3 Respostas

_fs

Este código não compila cara. Ao invés da vírgula o operador && deveria ser usado. Traduzindo ficaria: se o parâmetro “h” é maior que zero e menor que 24, faça …
O código deveria ficar assim:

hora = (h > 0 && h < 24) ? h : 0;

Os operadores “? :” funcionam assim:

int minhaVariavel = [seIssoForVerdade] [é igual a] 1 [caso contrário] 0;
ou

int minhaVariavel = ( outraVariavel > 37 ) ? 1 : 0;

ricardosoares

o código em questão:

public void setTempo(int h, int m, int s) { hora = (h > 0 && h < 24) ? h : 0; }

seria identico a:

public void setTempo(int h, int m, int s) { if (h > 0 && h < 24) hora = h; else hora = 0; }

tr3t4

vlws brothers
minha duvida era no [color=red]if[/color] e no [color=red]else[/color]

valews pela ajuda galera

Criado 12 de junho de 2006
Ultima resposta 12 de jun. de 2006
Respostas 3
Participantes 3