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

Não estou conseguindo inserir o "preencheData();".

package alura_Curso;

public class Funcionario {

    String nome;
    String departemento;
    double salario;
    String dataEntrada;
    String rg;


public class Data{
    int dia;
    int mês;
    int ano;

    void preencheData(int dia, int mês, int ano){
        this.dia = dia;
        this.mês = mês;
        this.ano = ano;

    }
}
    void recebeAumento(double valor) {
        this.salario += valor;
    }

    public double calculaGanhoAnual() {
        return this.salario * 12;
    }

    void mostra() {
        System.out.println("Nome = " + this.nome);
        System.out.println("RG = "+ this.rg);
        System.out.println("Data de entrada = "+ this.dataEntrada);
        System.out.println("Meu salario = "+ this.salario);
        System.out.println("Ganho anual = "+ this.calculaGanhoAnual() );

    }
}


public class Funcionario2 {

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

        f1.nome = "Daniel Ortega";
        f1.rg = "891011";
        f1.departemento = "TI";
    f1.
        f1.salario = 2000;

        Funcionario f2 = new Funcionario();
        f2.nome = "Daniela Ortega";
        f2.rg = "789";
        f2.departemento = "Administrativo";
    f1.
        f2.salario = 1500;
4 respostas

Olá Daniel,

Ponha cada classe separada uma das outras.

Pode ser tanto em arquivos diferentes ou no mesmo arquivo contanto que seja separado.

public class Data {
    int dia, mes, ano;
}
public class Funcionario {
    public String nome;
    public String departamento;
    public double salario;
    public Data dataDeEntrada;
    public String rg;
}
public class TestaFuncionario {

    public static void main(String[] args) {

        Data data = new Data();
        data.dia = 8;
        data.mes = 9;
        data.ano = 2015;

        Funcionario funcionario = new Funcionario();
        funcionario.nome = "Daniel";
        funcionario.departamento = "TI";
        funcionario.salario = 3000.0;
        funcionario.dataDeEntrada = data;
        funcionario.rg = "123";
}

Att,

Na verdade não consigo chamar:

f1.dataEntrada = new Data();

f1.dataEntrada.preencherData();

Não acho a opção (preencheData();

solução!

Fala aí Daniel, experimenta colocar esse método preencheData() como public e vê se resolve o seu problema. Outra coisa observei que você colocou a classe Data dentro da classe Funcionario e isso não pode. Classe dentro de outra classe só pode quando for uma classe anonima. Como o Ramon disse, elas podem estar até no mesmo arquivo .java, porém não uma dentro da outra.

Obrigado!