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

Exercício 6 não compila me ajudem a achar o erro

class Funcionario {
    String nome;

    String departamento;

    double salario;

    Data dataDeEntrega;   

    String rg;

    Contato local;

    void mostra() {

        System.out.println("Funcionario " + this.nome);
        System.out.println("Salario atual: " + this.salario);
        System.out.println("ganho anual: " + this.calculaGanhoAnual());
        System.out.println("Informações para contato");
        System.out.println("Celular " + this.local.tel + ", Rua: " + this.local.rua + ", Bairro: " + this.local.bairro + ", cidade: " + this.local.cidade);
        System.out.println();
        System.out.println(this.dataDeEntrega.preencheData());


    }

    void recebeAumento(double valor){
        this.salario += valor;
    }
    double calculaGanhoAnual(){
        return this.salario * 12;
    }
}
class Contato{

    String tel;
    String rua;
    String bairro;
    String cidade;
}
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;
    }    
}

class TestaFuncionario {

    public static void main(String[] args) {

        // criando um funcionarao
        Funcionario f1 = new Funcionario();

        // alterando valores do Funcionario
        f1.nome = "Marcos";
        f1.departamento = "Compras";
        f1.salario = 1500;
        f1.rg = "48749897";

        f1.local = new Contato();
        f1.local.tel = "94255-2990";
        f1.local.rua = "Reino Unido, 40";
        f1.local.bairro = "Jardim Santos Dumont";
        f1.local.cidade = "Mogi das Cruzes";

        f1.dataDeEntrega = new Data();
        f1.dataDeEntrega.preencheData(16, 3, 2016);

        // funcionario recebendo aumento
        f1.recebeAumento(500);

         // criando um funcionarao



        f1.mostra();
    }   

}
5 respostas

Oi Fernando,

Posta o erro que deu na hora que você tentou compilar que fica mais fácil de olhar.

Abraço!

C: \ Usuários \ Fernando \ Desktop \ Java> javac Funcionario.java Funcionario.java:22: error: método preencheData na classe Os dados não podem ser aplicados A determinados tipos; System.out.println (this.dataDeEntrega.preencheData ()); ^ Required: int, int, int Encontrado: sem argumentos Razão: listas de argumentos reais e formais diferem em comprimento 1 erro

solução!

Olha só Fernando o erro fala que na linha 22 do arquivo tem problema. A linha 22 é essa:

System.out.println(this.dataDeEntrega.preencheData());

Perceba que o método preencheData recebe 3 int como parâmetro e nesta linha você não passou nenhum. Outro ponto, este método não retorna nada, ele é void então não dá para usá-lo dentro de um System.out.println().

Abraço!

entendi muito obrigado, então pra eu poder retorna algo preciso usar o return?

Isso mesmo Fernando.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software