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

Aula 3 - Exercicio "New data" e ".mostra" Help plis

Galera estou com duas duvidas: 1: Nao consigo entender pq o new data nao é aceito no

public static void main(String[] args)

ele da erro e diz q nao posso usar o static para aquilo mas se eu tirar o "static" o erro some

public void main(String[] args)

porem se tirar o static o restante nao funciona vou coloca o codigo abaixo e vc tenta me entender vou tenta comentar tbm

package funcionario;


public class Funcionario {

    String nome;
    String rg;
    double salario;
    String dataentrada;
    String departamento;
    Data dataDeEntrada;

    void mostra() {
                System.out.println("Nome: " + this.nome);
                System.out.println("RG: " + this.rg);
                System.out.println("Salário: R$" + this.salario);
                System.out.println("Data de entrada: " + this.dataentrada);
                System.out.println("Departamento: " + this.departamento);
                System.out.println("RG: " + this.dataDeEntrada);
            }

    class Data{
        int dia;
        int mes;
        int ano;

        void preencheData (int dia, int mes, int ano) {
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }
}

    public static void main(String[] args) {
            Funcionario mauricio = new Funcionario();
            mauricio.nome = "mauricio aa";
            mauricio.rg ="123";
            mauricio.dataentrada="12/02/1992";
            mauricio.salario= 1594.6;
            mauricio.departamento="RH";
            mauricio.dataDeEntrada = new Data(); //  <-- erro  1 aqui
            mauricio.dataDeEntrada.preencheData(01, 02, 1990);

            mauricio.mostra();            // <-- erro  2 aqui

            // outro funcionario

            Funcionario joao = new Funcionario();
            joao.nome = "joao aa";
            joao.rg ="12345";
            joao.dataentrada="02/12/1990";
            joao.salario= 1000.6;
            joao.departamento="Adm";

        }
}

Obs: faço os programas no NetBeans

Duvida 2: nao consigo fazer o mostra funcionar :( não sei se coloquei no lugar certo as coisas mas espero ter sido claro >.<

2 respostas

Sua classe data esta dentro de funcionario Deveria ser assim :

package funcionario;

public class Funcionario {

    String nome;
    String rg;
    double salario;
    String dataentrada;
    String departamento;
    Data dataDeEntrada;

    void mostra() {
                System.out.println("Nome: " + this.nome);
                System.out.println("RG: " + this.rg);
                System.out.println("Salário: R$" + this.salario);
                System.out.println("Data de entrada: " + this.dataentrada);
                System.out.println("Departamento: " + this.departamento);
                System.out.println("RG: " + this.dataDeEntrada);
        }

}
    class Data{
        int dia;
        int mes;
        int ano;

        void preencheData (int dia, int mes, int ano) {
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }

    public static void main(String[] args) {
            Funcionario mauricio = new Funcionario();
            mauricio.nome = "mauricio aa";
            mauricio.rg ="123";
            mauricio.dataentrada="12/02/1992";
            mauricio.salario= 1594.6;
            mauricio.departamento="RH";
            mauricio.dataDeEntrada = new Data(); //  <-- erro  1 aqui
            mauricio.dataDeEntrada.preencheData(01, 02, 1990);

            mauricio.mostra();            // <-- erro  2 aqui

            // outro funcionario

            Funcionario joao = new Funcionario();
            joao.nome = "joao aa";
            joao.rg ="12345";
            joao.dataentrada="02/12/1990";
            joao.salario= 1000.6;
            joao.departamento="Adm";

        }
}
solução!

Opa bruno blz eu tava queimando os miolos aqui mas consegui vendo um outro comentario parecido com o meu porem no seu ai se eu fechar a chave " } " antes do

public static void main(String[] args)

ele da erro entao eu tirei apenas a classe data e coloquei antes de tudo assim oh:

package funcionario;


class Data{
        int dia;
        int mes;
        int ano;

        void preencheData (int dia, int mes, int ano) {
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }
}
public class Funcionario {

    String nome;
    String rg;
    double salario;
    String dataentrada;
    String departamento;
    Data dataDeEntrada;

    void mostra() {
                System.out.println("Nome: " + this.nome);
                System.out.println("RG: " + this.rg);
                    \\ ....

e com isso solucionou meu problema e ja deixo a dica para alguém quem o problema teve parecido vlws.

Obs: pelo oq entendi o " public static void main(String[] args) "

tem q estar dentro da " public class Funcionario"

pq eh a classe principal num é isso?