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

Não consigo utilizar os get e set

Não seria assim a forma de se utilizar os gets e sets ?

package funcionario20;
public class Funcionario {

    private String NomeDoDepartamento;
    private double Salario;
    private double anual;
    private String EstadoCivil;
    private String Endereco;
    int proximo = 0;


    //get obter set mudar

    public String getNomeDoDepartamento(){
        return this.NomeDoDepartamento;
    }

    public void setNomeDoDepartamento(String nomedepartamento){
        this.NomeDoDepartamento = nomedepartamento;
    }

    public double getSalario(){
        return this.Salario;
    }

    public void setSalario (double salario){
        this.Salario = salario;
    }

    public double getAnual(){
        return this.Salario*12;
    }

    public String getEstadoCivil(){
        return this.EstadoCivil;
    }

    public void setEstadoCivil(String estadocivil){
        this.EstadoCivil = estadocivil;
    }

    public String getEndereco(){
        return this.Endereco;
    }

    public void setEndereco (String endereco){
        this.Endereco = endereco;
    }

}
package funcionario20;
public class Principal {

    public static void main(String[] args) {

        Funcionario Lucas = new Funcionario();
        Lucas.setSalario(1856.85);
        Lucas.setEndereco(endereco);
        Lucas.setEstadoCivil(estadocivil);
        Lucas.setNomeDoDepartamento(nomedepartamento);

    }

}
4 respostas

Oi Lucas, tudo bom?

Seus métodos me parecem estar todos certos! parabéns.

Dando uma olhada no seu main:

public static void main(String[] args) {

        Funcionario Lucas = new Funcionario();
        Lucas.setSalario(1856.85);
        Lucas.setEndereco(endereco);
        Lucas.setEstadoCivil(estadocivil);
        Lucas.setNomeDoDepartamento(nomedepartamento);

    }

Lembra que nome de variavel, por convenção da linguagem é camel case começando com letra minuscula. Além disso, me parece que você está utilizando o setters passando variaveis que ainda não foram declaradas:

public static void main(String[] args) {

        Funcionario lucas = new Funcionario();
        lucas.setSalario(1856.85);
        lucas.setEndereco(endereco); // onde foi definida a variavel endereco?
        lucas.setEstadoCivil(estadocivil);  //mesma coisa aqui
        Lucas.setNomeDoDepartamento(nomedepartamento); // aqui também

    }
solução!

Olá Lucas,

A classe Funcionario está ok, mas vamos dar uma olhada no código da classe Principal, mais especificamente nessa linha:

Lucas.setEndereco(endereco);

Aqui estamos invocando o método setEndereco da classe Funcionario mas o que o método recebe como parâmetro? Se olharmos na classe Funcionario, o parâmetro do setEndereco é uma String. Da forma como a linha está escrita, estamos passando uma varíavel endereco para o setEndereco mas essa variável não está definida no método main. Lembre-se que quando queremos passar uma String direto no código sem declarar uma variável precisamos colocar o texto entre aspas. Então a linha ficaria assim:

Lucas.setEndereco("endereco");

Agora sim vai funcionar já que estamos passando uma String! Você vai precisar repetir o procedimento para todo setter que receber uma String como parâmetro, ok?

A ideia é essa mesma, Lucas!

Você só precisa atentar para os tipos que está passando para os métodos.

package funcionario20;
public class Principal {

    public static void main(String[] args) {

        Funcionario lucas = new Funcionario();
        lucas.setSalario(1856.85);
        lucas.setEndereco("Rua xpto, nº 55");
        lucas.setEstadoCivil("Solteiro");
        lucas.setNomeDoDepartamento("Depto de Vendas);
    }
}

Perceba a utilização de minúsculas para o objeto lucas do tipo Funcionario. Em Java, o nome dos objetos começam com minúsculas e os nomes das classes maiúsculas.

Roda e vê se dá certo.

Abraço.

Muito obrigado a todos as respostas e obrigado Jeferson Silva por me atentar a um erro tão bobo . abrss