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

Próximas questões
Com base no mesmo assunto
Q268145 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 bike1.

cadence:50 speed:10 gear:2
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C - certo

Explicação:

Para resolver essa questão, é necessário entender os conceitos de orientação a objetos em Java, particularmente como instâncias de classes (objetos) são criadas e manipuladas. A classe Bicycle é uma representação de uma bicicleta com métodos para alterar suas propriedades, como cadência, velocidade e marcha.

Ao analisarmos o trecho de código fornecido para a instância bike1, vemos que os métodos são chamados em sequência para modificar o estado dessa instância:

  • O método changeCadence(50) define o valor de cadência para 50.
  • O método speedUp(10) aumenta a velocidade em 10, portanto, a velocidade é agora 10 (inicialmente era 0).
  • O método changeGear(2) define a marcha para 2.

Com essas chamadas de métodos, o estado final de bike1 antes de chamar o método printStates() é:

  • Cadência: 50
  • Velocidade: 10
  • Marcha: 2

O método printStates() então imprime os valores das propriedades da bicicleta, o que significa que a saída para o objeto bike1 será "cadence:50 speed:10 gear:2". Logo, a alternativa C - certo está correta, pois os estados impressos correspondem exatamente aos estados finais do objeto bike1 após a execução dos métodos listados acima.

Essa questão é um exemplo prático do uso de classes e objetos em Java, demonstrando como métodos são utilizados para alterar o estado interno de um objeto e como essas mudanças refletem quando o estado é consultado ou exibido.

Clique para visualizar este gabarito

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