Olá, boa tarde.
Tenho três classes, Carro, Motorista e Teste. Segue o código:
class Carro
{
String nome;
Motorista motoristaAtual;
Carro ( String nome )
{
this.nome = nome;
}
public String toString ()
{
return this.nome + " (" + this.motoristaAtual.getNome() + ")";
}
}
class Motorista
{
String nome;
Carro carroAtual;
Motorista ( String nome )
{
this.nome = nome;
}
void entrarNoCarro ( Carro carro )
{
this.carroAtual = carro;
// AQUI
}
String getNome ()
{
return this.nome;
}
}
class Teste
{
public static void main (String args [])
{
Carro c1 = new Carro("C1");
Motorista m1 = new Motorista("M1");
m1.entrarNoCarro(c1);
System.out.println(c1.toString()); //Saída esperada: C1 (M1)
}
}
O objetivo do programa é imprimir o nome do motorista “m1” com a chamada do método “toString()” (c1.toString()), sem modificar a classe “Teste” e sem adicionar variáveis e métodos às classes.
Uma solução que considerei seria, na classe “Motorista” e em: “AQUI”, fazer a variável “motoristaAtual” receber “m1”. Como fazer isso?
Obrigado.