Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

codigo Arrays

Boa Noite,

Sobre Arrays ... seguindo os exercícios surgiram varias duvidas e estarei postando o código abaixo, se vcs puderem me dizer oq esta errado ou certo para corrigir/melhorar agradeceria !!!

class Empresa { String nome; String cnpj; Funcionario[] empregados; int emp = 0;

void adiciona(Funcionario f) { this.empregados[this.emp] = f; this.emp++; }

void mostraEmpregados() { for(int i = 0; i < emp.length; i++) { System.out.println("Funcionarios na posicao: " + i); } }

void mostraTodasAsInformacoes() { for (int i = 0; i < this.emp; i++ ) { System.out.println("Funcionario na posicao: " + i); thi.empregados[i].mostra(); } }

boolean contem(Funcionario f) { for (int i = 0; i < this.livre; i++) { if (f == this.empregados[i]) { return true; } } return false; }}

class Funcionario { String nome; String rg; String departamento; double salario; Data dataEntrada;

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

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

void mostra() { System.out.println("Nome: " + this.nome); System.out.println("Salario: " + this.salario); System.out.println("departamento: " + this.departamento); System.out.println("Data de Entrada: " + this.dataEntrada.mostra()); System.out.println("Ganho anual: " + this.calculaGanhoAnual()); System.out.println(" "); } }

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

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

String mostra() { return this.dia + "/" + this.mes + "/" + this.ano; } }

class testaEmpresa { public static void main(String[] args) { Empresa agera = new Empresa(); agera.empregados = new Funcionario[10];

Funcionario f1 = new Funcionario(); f1.nome = "Andrew"; f1.salario = 10000.0; f1.departamento = "Engenharia"; f1.dataEntrada = new Data(); f1.dataEntrada.setData(21,10,2014); agera.adiciona(f1);

Funcionario f2 = new Funcionario(); f2.nome = "Lucas"; f2.salario = 2000; f2.departamento = "Software Quality Assurance"; f2.dataEntrada = new Data(); f2.dataEntrada.setData(21,10,2014); agera.adiciona(f2);

// Nao entendi esta parte agera.empregados[0].mostra(); agera.empregados[1].mostra();

empregados.mostraEmpregados(); } }

1 resposta
solução!

Andrew, quando postar código, usa os formatadores para que ele fique mais legível. Mas lembre-se, formate somente o código, não a tua dúvida inteira.

A tua linha comentada é para que ele mostre os dados daqueles funcionários. Se tu tivesse 10 funcionários, tu poderia listar os dados do teu 5º funcionário com o código

agera.empregados[4].mostra();

Ou seja, quando tu coloca as linhas

agera.empregados[0].mostra();
agera.empregados[1].mostra();

Tu está dizendo para o programa listar primeiro os dados do primeiro funcionário no array, e depois ele mostra os dados do segundo funcionário no array.

A instrução

empegados.mostraEmpregados();

Diz que é para listar todos os funcionários do array, e não somente um específico.