Considerando o trecho de programa Java mostrado acima, julgu...

Próximas questões
Com base no mesmo assunto
Q268142 Programação
class Bicycle {
int cadence = 0;
int speed = 0;
int gear = 1;
void changeCadence(int newValue) {
cadence = newValue;
}
void changeGear(int newValue) {
gear = newValue;
}
void speedUp(int increment) {
speed = speed + increment;
}
void applyBrakes(int decrement) {
speed = speed - decrement;
}
void printStates() {
System.out.println(“cadence:“+cadence+”speed:
“+speed+”gear:“+gear);
}
}
class BicycleDemo {
public static void main(String[] args) {
Bicycle bike1 = new Bicycle();
Bicycle bike2 = new Bicycle();
bike1.changeCadence(50);
bike1.speedUp(10);
bike1.changeGear(2);
bike1.printStates();
bike2.changeCadence(50);
bike2.speedUp(10);
bike2.changeGear(2);
bike2.changeCadence(40);
bike2.speedUp(10);
bike2.changeGear(3);
bike2.printStates();v }
}
Considerando o trecho de programa Java mostrado acima, julgue o  item  seguinte.

Ao final da execução desse trecho de programa, serão impressos os seguintes valores para bike2.

cadence:50  speed:20 gear:3

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - errado

A questão pede para avaliar o estado final do objeto bike2 após a execução do trecho de código fornecido. Para determinar isso, é necessário entender o funcionamento das operações realizadas sobre o objeto. Vamos examinar o que ocorre passo a passo com bike2:

  • Inicialização: Quando um novo objeto Bicycle é criado, seus atributos são inicializados com os valores cadence = 0, speed = 0 e gear = 1.
  • Primeira alteração: bike2.changeCadence(50); muda a cadência para 50.
  • Segunda alteração: bike2.speedUp(10); aumenta a velocidade em 10, levando à speed = 10.
  • Terceira alteração: bike2.changeGear(2); muda a marcha para 2.
  • Quarta alteração: bike2.changeCadence(40); muda a cadência novamente, agora para 40.
  • Quinta alteração: bike2.speedUp(10); novamente aumenta a velocidade em 10, resultando em speed = 20 (pois já estava em 10 e foi aumentada mais 10).
  • Sexta alteração: bike2.changeGear(3); finalmente muda a marcha para 3.

Com base nessas operações, o estado final de bike2 será cadence = 40, speed = 20 e gear = 3.

Portanto, a afirmação de que os valores finais seriam cadence:50 speed:20 gear:3 está errada, porque a cadência final é 40, não 50.

O conhecimento necessário para resolver essa questão envolve a compreensão de conceitos básicos de programação orientada a objetos, como classes, métodos, objetos e a manipulação de atributos de um objeto em Java. Cada operação realizada no objeto bike2 é cumulativa e afeta o estado do objeto conforme definido pelos métodos da classe Bicycle.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo