Ir ao conteúdo
  • Cadastre-se

Zeus_Cajazeiras

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. Obrigado pela atenção, realmente agora consegui entender porque não estava dando certo.
  2. 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...