Boas, um professor meu me deixou com a seguinte questão:
- 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:
[code]
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§;[/code]
Não to conseguindo perceber onde ele quer chegar! alguem me pode ajudar?
ja sei
p */=2 é igual a p=p/2 
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…
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!
De nada
Ainda bem que ajudou…