Boa noite, Galera
Esta questão tem caido com frequencia e o gabarito é perdeu o bonus e ganhou o bonus. Mas todos marcam perdeu o bonus e ganhou (eu tambem marco isto, toda vez que interpreto).
Alguem pode explicar? E tb acho que alta alguns parenteses na parte II...
I. int sum = 7;
if ( sum > 20 ) {
System.out.print("ganhou "); }
else {
System.out.print("perdeu "); }
System.out.println("o bônus.");
II. int sum = 21; if ( sum != 20 )
System.out.print("ganhou");
else
System.out.print("perdeu "); System.out.println("o bônus.");
O If e Else executam um comando após a instrução.
Sendo assim, a resposta pra 2 é "ganhou o bônus", pois a instrução: System.out.println("o bônus.");, sempre é executada, não faz parte do Else.
Nesse exercício vamos estudar a necessidade das chaves em um código java.
As chaves servem para inserirmos blocos de código dentro de um locar que a princípio teria apenas uma instrução, como é o caso do if e do else. Assim como em I, o else do II executa apenas o comando System.out.print("perdeu ");. O comando System.out.println("o bônus."); está fora das condicionais e, portanto, é executado sempre, independente do resultado da condicional.
Logo I escreve perdeu o bônus, como é comum as pessoas acertarem, mas II também escreve o segundo trecho sempre, isto é: ganhou o bônus.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar