Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Erro no Get

Boa tarde,

Estou tendo problema para declarar o set nesse trecho de código:

public class TestaGeteSet { public static void main(String[] args) { Conta conta = new Conta(); //conta.numero = 1337; -> o atributo está privado, use o set conta.setNumero(1337); System.out.println(conta.getNumero());

    Cliente paulo = new Cliente();
    //conta.titula = paulo;
    paulo.setNome("paulo ferreira");

    conta.setTitular(paulo);

    System.out.println(conta.getTitular().getNome());

    conta.getTitular().setProfissao("programador");
    // agora em duas linhas:
    Cliente titularDaConta = conta.getTitular();
    titularDaConta.setProfissao("programador");


    System.out.println(titularDaConta);
    System.out.println(paulo);
    System.out.println(conta.getTitular());
}

}

O getNome não compila e o eclipse dar esse erro aqui: Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method getNome(String) in the type Cliente is not applicable for the arguments ()

6 respostas

Oi João, você poderia mandar o código da classe Cliente? Acredito que o problema esteja por lá.

Olá João, tudo bem?

Você poderia postar aqui o código da sua classe Cliente.java também? Para poder verificar algumas coisas?

Eu acredito que seja algum pequeno erro na sua função getNome(), veja se ela está assim:

    public String getNome() {
        return nome;
    }

Abraços e Bons Estudos!

Mando sim, a classe está assim:

public class Cliente {

private String nome;
private String cpf;
private String profissao;



public void getNome(String nome) {
    this.nome = nome;
}
public void setNome(String nome) {
    this.nome = nome;
}
public void getCpf(String cpf) {
    this.cpf = cpf;
    }
public void setCpf(String cpf) {
    this.cpf = cpf;
}
public void getProfissao(String profissao) {
    this.profissao = profissao;
}
public void setProfissao (String profissao) {
    this.profissao = profissao;
}

}

Ok, João. No caso, os métodos get não recebem parâmetros. Já que o que você quer é apenas consultar uma informação, não há necessidade de parâmetros! Diferente do set, onde você precisa receber parâmetros para setar as variáveis.

No caso, o seu getNome deveria ficar assim, sem nada dentro dos parenteses:

public String getNome() {
        return nome;
    }

Veja o código abaixo, onde os gets não recebem nenhum parâmetro:

public class Cliente {

    private String nome;
    private String cpf;
    private String profissao;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getProfissao() {
        return profissao;
    }

    public void setProfissao(String profissao) {
        this.profissao = profissao;
    }

}

Espero ter ajudado, bons estudos!

solução!

Olá João, realmente era o que eu pensava

Observe que a seu método getNome recebe um argumento String nome: getNome(String nome), os nossos getters são funções que não recebem argumentos e apenas retornam uma informação, ok?

Então altere essa função para:

public String getNome() {
    return nome;
}

Talvez você tenha se confundindo enquanto criava os setters, esses sim recebem argumentos ;)

Abraços e Bons Estudos!

Era isso mesmo o erro, muito obrigado Geovani e Thiago.