Não está validando as variáveis setores e classe no to string ? onde eu errei ai?

8 respostas
java
N
package atividade2;

public class Funcionario {

    private String nome;
    private double salarioMensal;
    private String departamento;
    private int codIndentificacao;
    private String funcao;

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

    public void setSalarioMensal(double salarioMensal) {
        if (salarioMensal < 0.0) {
            this.salarioMensal = 0.0;
        } else {
            this.salarioMensal = salarioMensal;
        }
    }

    public void setDepartamento(String departamento) {
        this.departamento = departamento;
    }

    public void setCodIndentificacao(int codIndentificacao) {
        this.codIndentificacao = codIndentificacao;
    }

    public void setFuncao(String funcao) {
        this.funcao = funcao;
    }

    @Override
    public String toString() {
        return "Funcionario: nome: " + nome + " Salario Mensal " + salarioMensal + " Departamento: " + departamento
                + " codIdentificacao: " + codIndentificacao + " funcao: " + funcao;

    }

}
package atividade2;

public class Gerente extends Funcionario {

    private int classe;
    private String setores;

    public void setClasse(int classe) {
        this.classe = classe;
    }

    public void setSetores(String setores) {
        this.setores = setores;
    }

    public String tipoClasse() {
        if (classe == 1) {
            return " classe A";
        }
        if (classe == 2) {
            return "classe B";
        }
        return "TI";
    }

    @Override
    public String toString() {
        return super.toString() + "Gerente: classe : " + classe + "Setor: " + setores;
    }
}

package atividade2;

public class Principal {

    public static void main(String[] args) {
        Funcionario f1 = new Funcionario();
        Funcionario f2 = new Funcionario();

        f1.setNome("A");
        f1.setDepartamento("Departamento A");
        f1.setSalarioMensal(1200);
        f1.setFuncao("Funcao A");
        f1.setCodIndentificacao(123);

        System.out.println("Funcionario 01-" + f1.toString());
        System.out.println("********************************************************************************************************");
        f2.setNome("B");
        f2.setDepartamento("Departamento B");
        f2.setSalarioMensal(1500);
        f2.setFuncao("Funcao B");
        f2.setCodIndentificacao(45);

        System.out.println("Funcionario 02 " + f2.toString());

    }

}

8 Respostas

staroski

O método toString() não deveria ser usado para fazer validações, ele serve somente para você fazer uma representação textual do objeto da sua classe.

N

Expressei errado, quando lá na main eu digito f2. (alguma coisa) não aparece para mim f2.setClasse

staroski

Você declarou a variável f2 como sendo do tipo Funcionario.

A classe Funcionario não possui o método setClasse.

Quem possui o método setClasse é a classe Gerente.

N

Fiz o que você falou, só que ainda não setou, e continua não chamando os atributos.

staroski

Posta o que você fez.

N
package atividade2;

public class Gerente extends Funcionario {

    private int classe;
    private String setores;

    public void setClasse(int classe) {
        this.classe = classe;
    }

    public void setSetores(String setores) {
        this.setores = setores;
    }

    public String tipoClasse() {
        if (classe == 1) {
            return " classe A";
        }
        if (classe == 2) {
            return "classe B";
        }
        return "TI";
    }

    @Override
    public String toString() {
        return super.toString() + "\nGerente: classe : " + classe + " Setor: " + setores;
    }
}
    identar texto pré-formatado por 4 espaços
f2.setNome("B");
        f2.setDepartamento("Departamento B");
        f2.setSalarioMensal(1500);
        f2.setFuncao("Funcao B ");
        f2.setCodIndentificacao(45);
adriano_si

Não importa você ter feito Gerente extender Funcionario, você tem que postar como criou o objeto f2 no método main.

N

Espera , tá certo , eu tenho que criar novo objeto para gerente.

Criado 27 de agosto de 2019
Ultima resposta 27 de ago. de 2019
Respostas 8
Participantes 3