Inicializacao de array

Olá a todos, eu tenho um exercicio para entregar em meu curso e estou com dúvidas no meu array de como inicializá-lo, pois ele possui algumas especificacoes em seu construtor…

Preciso incializar um array do tipo Empregados (classe criada por mim) de tamanho 30 com as seguintes especificacoes:

[quote]Crie uma aplicação que leia as informações de cada empregado e armazene-os em um vetor de empregados,
utilize os 3 construtores da seguinte forma:
? índice do vetor múltiplo de 2: construtor 1 (sem argumentos)
? índice do vetor múltiplo de 3: construtor 2 (com 3 argumentos)
? demais: construtor 3 (com argumento objeto Empregado)[/quote]

Oque eu tentei fazer:

[code]/**

  • @(#)TesteEmpregado.java
  • @author Ricardo Crivelli
  • @version 1.00 2008/9/9
    /
    import java.util.
    ;

public class TesteEmpregado {

public static void main(String[] args) {
	
	Scanner input = new Scanner( System.in );
    int horas;
    double salarioHoras;
    String nome;
    Empregado funcionario[];    
    
    for(int i=0; i<30; i++) {
    	System.out.println("Digite o nome do funcionário: ");
    	nome = input.nextLine();
    	System.out.println("Digite as horas trabalhadas: ");
    	horas = input.nextInt();
    	System.out.println("Digite o valor de cada hora trabalhada: ");
    	salarioHoras = input.nextDouble();        	
    	if(i%2==0)
    		funcionario[i] = new Empregado();
    	else 
    		if(i%3==0)
    			funcionario[i] = new Empregado( nome, horas, salarioHoras);
    		else {
    			Empregado e = new Empregado( nome, horas, salarioHoras );
    			funcionario[i] = new Empregado( e );
    		}
    }
    
    for(int i=0; i<30; i++) {
    	funcionario[i].toString();
    }
    
}

}
[/code]

O erro é o seguinte: variable funcionario might not have been initialized funcionario[i] = new Empregado();

A classe Empregado:

[code]/**

  • @(#)Empregado.java
  • @author Ricardo Crivelli
  • @version 1.00 2008/9/9
    */

public class Empregado {

String nome;
int horas;
double salarioHora;

public Empregado() {
	nome = "";
	horas = 0;
	salarioHora=0.00;
}

public Empregado(String nome, int horas, double salarioHora) {
	this.nome = nome;
	setHoras( horas );
	setSalarioHora( salarioHora );
}

public Empregado(Empregado empregado){
	this.nome = empregado.nome;
	setHoras( empregado.horas );
	setSalarioHora( empregado.salarioHora );
}

public String getNome() {
	return nome;
}

public int getHoras() {
	return horas;
}

public double getSalarioHora() {
	return salarioHora;
}

public double getSalario(){
	double percentualHoraExtra = 0.5;
	if(horas<41)
		return salarioHora * horas;
	else
		return (salarioHora * horas) + ((salarioHora + (salarioHora * percentualHoraExtra)) * (horas - 40));
}

public void setNome( String nome ) {
	this.nome = nome;
}

public void setHoras( int horas ) {
	if(horas > 0)
		this.horas = horas;
	else
		this.horas = 0;
}

public void setSalarioHora( double salarioHora ) {
	if(salarioHora > 0)
		this.salarioHora = salarioHora;
	else
		this.salarioHora = 0.00;
}

public String toString(){
	return String.format("Nome: "+ nome +"\nHoras: "+ horas +"\nSalarioHora: "+ salarioHora +"\nSalario: "+ getSalario());
}

}[/code]

Faltou inicializar seu vetor de Empregados:

Empregado funcionario[] = new Empregado[30];

Blz? Flw! :thumbup:

Brigadão cara… errinho tonto!! =D