Ir ao conteúdo
  • Cadastre-se

Zeus_Cajazeiras

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por Zeus_Cajazeiras

  1. Bom tarde a todos estou estudando a apostila FJ-11 Java e Orientação a Objetos da Caelum na pagina 73 exercício 4 alterar o laço para o novo for do Java 5.0, até o momento não consegui ter sucesso na chamada do método. segue toda a estrutura que estou desenvolvendo para resolver o exercício.

    Estou com problemas para chamar o método ---> mostraempregados() da class Empresa a partir da class TestaEmpresa ---> empresa.mostraEmpregados(empresa.empregados[])

    Alguem pode me ajudar a consertar este código

     

    class Empresa {
        
        String nome;
        String cnpj;
        Funcionario[] empregados;
        int a;
        void adiciona(Funcionario f) {
            a += 1;
            this.empregados[a - 1] = f;
        }
    // este metodo funciona normal
    /*    void mostraEmpregados() {
            for (int i = 0; i < this.empregados.length; i++) {
                System.out.println("Funcionário na posição: " + i);
                //System.out.println("Salario: " + this.empregados.salario);
                empregados.mostra();
            }
        }
    */
    
    // porque o metodo não consigo converter o metodo acima para
    // o novo for do java 5.0
        void mostraEmpregados(int[] empregados) {
            for (int x : empregados) {
                System.out.println(empregados[x]);
            }
        }
    
    }
    
    class TestaEmpresa {
        public static void main(String[] args) {
        
            Empresa empresa = new Empresa();
            empresa.empregados = new Funcionario[10];
            for (int i = 0; i < 10; i++)  {
                Funcionario f = new Funcionario();
                f.salario = 1000 + i * 100;
                f.contrata();
                empresa.adiciona(f);
            }
    // qual argumento devo passar aqui para solucionar o erro
            empresa.mostraEmpregados(empresa.empregados[]);
     
        }
    }
    
    
    class Funcionario {
        
        String nome;
        Data dataNascimento;
        String cpf;
        String rg;
        Data dataAdimicao;
        String departamento;
        String cargo;
        double salario;
        char estaAtivo;
        Data dataDemicao;
        
        void recebeAumento(double aumento) {
            salario += aumento;
        }
        
        double calculaGanhoAnual() {
            return this.salario * 12;
        }
    
        boolean contrata() {
            if (this.estaAtivo != 'S') {
                this.estaAtivo = 'S';
                this.dataAdimicao = new Data();
                this.dataAdimicao.dia = 15;
                this.dataAdimicao.mes = 07;
                this.dataAdimicao.ano = 2016;
                this.departamento = "Elétrica";
                this.cargo = "Téc. Eletroeletrônica I";
                this.salario = 3159.19;
                this.dataDemicao = new Data();
                this.dataDemicao.dia = 0;
                this.dataDemicao.mes = 0;
                this.dataDemicao.ano = 0;
                return true;
            }
            else {
                return false;
            }
        }
    
        boolean demite() {
            if (this.estaAtivo != 'N') {
                this.estaAtivo = 'N';
                this.dataAdimicao = new Data();
                this.dataAdimicao.dia = 0;
                this.dataAdimicao.mes = 0;
                this.dataAdimicao.ano = 0;
                this.dataDemicao = new Data();
                this.dataDemicao.dia = 16;
                this.dataDemicao.mes = 07;
                this.dataDemicao.ano = 2016;
                this.departamento = "";
                this.cargo = "";
                this.salario = 0.0;
                return true;
            }
            else {
                return false;
            }
        }
    
        boolean transfFuncDepar() {
            if (this.estaAtivo == 'S' && this.departamento !="Mecânico") {
                this.departamento = "Mecânico";
                return true;
            }
            else {
                return false;
            }
        }
    
        void mostra() {
            System.out.println("Nome: " + this.nome);
            System.out.println("Departamento: " + this.departamento);
            System.out.println("Salário: " + this.salario);
            System.out.println("RG: " + this.rg);
            System.out.println("Ganho Anual: " + this.calculaGanhoAnual());
            System.out.println("Cargo/Função: " + this.cargo);
            System.out.println("Data de Adimição: " + this.dataAdimicao.formataData());
            System.out.println("Data de Demição: " + this.dataDemicao.formataData());
            
    
        }
        
    }
    
    class Data {
    
        int dia;
        int mes;
        int ano;
        
        String formataData() {
            return dia + "/" + mes + "/" + ano;
        }
    } 

     

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!