Num trabalho tem */ nao sei o que é!

4 respostas
CondeGil

Boas, um professor meu me deixou com a seguinte questão:

2. Indique, justificando, qual é o ?output? do seguinte extracto de código para as três seguintes hipóteses de iniciação da variável option:
h1) char option = 'd';
h2) char option = 'R';
h3) char option = 'e';

para o codigo:

double p=Math.PI * 5;
switch (option) { 
    case 'r':  case 'R': 
                p /= 2; 
    case 'd': case 'D': 
                p /= Math.PI; 
                break; 
    case 'a': case 'A': 
                p *= p; p /= 4; 
                p /= Math.PI; 
                break; 
    default: p = 0; 
} 
p *= 100; p += 0.5; p = (int)p; p /= 100; 
System.out.println(p);

Não to conseguindo perceber onde ele quer chegar! alguem me pode ajudar?

4 Respostas

CondeGil

ja sei :stuck_out_tongue: p */=2 é igual a p=p/2 :smiley:

P

Boa noite,

quando tem dúvidas num trecho de código, é sempre mais fácil executá-lo. À medida que vai dando valores à variàvel option, irá perceber melhor funcionamento do programa.
Quando tem:
x = y é o mesmo que x = xy
x /=y é o mesmo que x = x/y

Depois tem que verificar se option=d então vai entrar aqui

case d: case D:

p /= Math.PI;

break;   

ou seja, p= Math.PI * 5/Math.PI , p=5

depois é realizar cada uma das contas  p *= 100; p += 0.5; p = (int)p; p /= 100;  e é mostrado o valor final de p que é 5,005

Ok?
Espero ter ajudado…

CondeGil

:smiley: muito obrigado! eu tentei correr o codigo, talvez por falta de atenção ou por outra coisa qualquer nao percebi, mas sim tenho a minha duvida esclarecida! muito agradecido!

P

De nada :wink: Ainda bem que ajudou…

Criado 17 de novembro de 2008
Ultima resposta 20 de nov. de 2008
Respostas 4
Participantes 2