Relacionamento entre duas classes[Resolvido]

Bom pessoal, estou com um pouco de dificuldade nas matérias de POO. Num exercício eu tenho que criar um relacionamento entre duas classes.
Tenho então a classe pessoa onde a pessoa tem uma reputação
Tenho a classe reputação onde receberá um valor double que será acrescentado à reputação da pessoa. No entanto não sei como fazer isso até porque sou iniciante em java.
Por enquanto criei:
public class Pessoa {
private int idPessoa;
private Reputacao reputacaoPes;

 public Pessoa(){
     idPes = 0;
     reputacaoPes = null;
 }

 public int getIdPes() {
    return idPes;
}

public void setIdPes(int idPes) {
    this.idPes = idPes;
}

public Reputacao getReputacaoPes() {
    return reputacaoPes;
}

public void setReputacaoPes(Reputacao reputacaoPes) {
    this.reputacaoPes = reputacaoPes;
}

public void CalcularReputacao(Reputacao valorReputacao){
    this.reputacaoPes = (reputacaoPes + valorReputacao); //O netbeans mostra o erro aqui!
}

}

public class Reputacao {
private int idReputacao;
private double valorReputacao;

public Reputacao(){
    idReputacao = 0;
    valorReputacao = 0;
}

public int getIdReputacao() {
    return idReputacao;
}

public void setIdReputacao(int idReputacao) {
    this.idReputacao = idReputacao;
}

public double getValorReputacao() {
    return valorReputacao;
}

public void setValorReputacao(double valorReputacao) {
    this.valorReputacao = valorReputacao;
}

}

Você está somando dois objetos em lugar do atributo reputação
Você deveria ter escrito:

Dentro da class Pessoa

public void CalcularReputacao(double valorReputacao){

      // guarda o novo valor da reputação
      // que será a soma do valor informado mais o valor atual da reputação
      Double totalReputacao =
                                          (reputacaoPes.getValorReputacao() + valorReputacao);
      // Atualiza o valor de reputação
      reputacaoPes.set(totalReputacao) = totalReputacao;

}

1 curtida

Há um erro aqui “cannot find the symbol: method set(Double) location: variable reputacaoPes of type Reputacao”
O que pode ser?

Traduzindo: “símbolo não encontrado: método set(Double) localização: variável reputacaoPes do tipo Reputacao”, ou seja, a classe Reputacao não tem o método set(Double). Creio que o certo seria:

reputacaoPes.setValorReputacao(totalReputacao);

Obs.1: Use nomes significativos por exemplo, em vez de reputacaoPes, use reputacaoPessoa;

Obs.2: Métodos recebem dados por meio de parâmetros (ou por meio de variáveis globais). Logo, essa atribuição não faz sentido:

reputacaoPes.set(totalReputacao) = totalReputacao;

2 curtidas

Sei o que significa a tradução, o problema é que não tem 2 meses que estou estudando java, portanto há muitas coisas que eu ainda não sei.

Desculpe. É reputacaoPes.set(totalReputacao); // O parâmetro já está entre parentêses.