Exercicio 4.14 apostila fj-11 (Programa 1)

Será que alguém consegue ajudar? Vi que já existe este tópico, mas somente sobre os Programas 2 e 3. Programa 1 (Pag. 51) Acho que estou errando no método, mas vamos lá.

class Pessoa {

    String nome;
    int idade;

    void fazAniversario (int valor) {
        int novaIdade = this.idade++;
           this.idade = novaIdade;     
    }
}

class TestaPessoa {
    
    public static void main(String[]args) {

        Pessoa pessoa = new Pessoa();

        pessoa.nome = "Marcela";
        pessoa.idade = 36;

        System.out.println (pessoa.fazAniversario());
    }    
}

ERRO LISTADO NO TERMINAL:

TestaPessoa.java:10: error: cannot find symbol
System.out.println (fazAniversario());
^
symbol: method fazAniversario()
location: class TestaPessoa
1 error
MBPro-de-Fabiano-Moreno-3:PAG 51a Default$ javac TestaPessoa.java
TestaPessoa.java:10: error: method fazAniversario in class Pessoa cannot be applied to given types;
System.out.println (pessoa.fazAniversario());
^
required: int
found: no arguments
reason: actual and formal argument lists differ in length
1 error

Vi dois erros.

Vc definiu o método fazAniversario(int valor) de forma que ele requer um argumento do tipo int, mas não hora de invocá-lo, não passou argumento nenhum.

O método fazAniversario() não retorna nada, vc o definiu como void. Ai vai dar erro quando vc passa ele pro println. Ele teria que retornar alguma coisa para fazer sentido e funcionar.

Foi o que o wldomiciano disse. Você pode transformar em um método com retorno ou pode retirar o argumento do método fazAniversario().

muito obrigado!