Sou eu mais uma vez :lol:
Pessoal, estou tentando definir o tamanho de um array com uma variável do tipo int. na verdade é o seguinte: Tenho uma classe Funcionário e uma classe Empresa. Na classe Empresa tenho um array de funcionários com o tamanho (tamanho da variável definida pelo usuário). Tenho o getTam que defini o valor da variável tam que será usada como tamanho do array, só que quando eu vou adicionar os funcionários dá o seguinte erroException in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at empresa.simples.Empresa.adiciona(Empresa.java:20)
at empresa.simples.TestaFuncionario.main(TestaFuncionario.java:22)
Aí vão as classes
package empresa.simples;
class Empresa {
private String nome;
private String cnpj;
int contador = 0;
private int tam;
Funcionario[] funcionario = new Funcionario[tam];
void setTam(int tam) {
this.tam = tam;
}
int getTam() {
return this.tam;
}
public void adiciona(Funcionario f) {
this.funcionario[this.contador] = f;
this.contador++;
}
public void imprimeFuncionarios() {
for (int x = 0; x < funcionario.length; x++) {
System.out.println(funcionario[x].getNome());
System.out.println(funcionario[x].getRg() + "\n");
}
}
}
package empresa.simples;
public class Funcionario {
private String nome;
private String rg;
Funcionario(String nome, String grg){
this.nome = nome;
this.rg = grg;
}
String getNome(){
return this.nome;
}
String getRg(){
return this.rg;
}
}
package empresa.simples;import javax.swing.JOptionPane;
class TestaFuncionario {
public static void main(String[] args) {String quantidade = JOptionPane
.showInputDialog("Quantos Funcionários Deseja Cadastrar neste Momento? ");
int quant = Integer.parseInt(quantidade);Empresa empresa = new Empresa();
empresa.setTam(quant);
Funcionario f = new Funcionario("Bruno", "12544742-5");
Funcionario f2 = new Funcionario("Élson", "09326547-8");
System.out.println(empresa.getTam());
empresa.adiciona(f);
empresa.adiciona(f2);
empresa.adiciona(f);
empresa.adiciona(f2);
empresa.adiciona(f);
empresa.adiciona(f2);
empresa.adiciona(f);
empresa.adiciona(f2);empresa.imprimeFuncionarios();
}
}