olá gente , tenho que entregar esse trabalho na segunda e apresenta-lo na verdade to bem mal com isso
meu problema e que tenho que preencher o vetor , depois buscar um elemento dentro desse vetor , remover e coisas assim através do switch
Só que não estou conseguindo usar o metodo adicionar , buscar e os outros corretamente nas outras classes , to desesperado .-. , só precisava saber como faço corretamente isso
O trabalho e da disciplina de estrutura de dados então não posso usar arraylist ou algo do gênero só aquelas funções da classe vetor
obrigado 
**\\classe pessoa**
public class Pessoa {
package sistemarh;
import java.util.Date;
String nome;
String endereço;
String cpf;
String rg;
String telefone;
String data_nascimento;
//getters e setters definidos para os atributos
---------------------------------------------------------------------------
**//classe funcionario**
package sistemarh;
public class Funcionario extends Pessoa {
int matricula;
String turno;
String data_desligamento;
double salario;
String cargo;
String data_adimissao;
//getters e setters definidos para os atributos
--------------------------------------------------------------------------
**//classe dependente**
package sistemarh;
**public class Dependente extends Pessoa {**
int id_funcionario;
int id_dependente;
//getters e setters definidos para os atributos
-----------------------------------------------------------------------------
**//Classe vetor onde estão os metodos de adicionar , remover , etc**
package sistemarh;
**class Veto**r{
int tamanho;//atributo
int pos = 0;//atributo
String[] elementos;
String[] nome;
//construtor
Vetor(int tamanho){
elementos = new String[tamanho];
}
boolean adiciona(String elemento){
if(pos<elementos.length){
elementos[pos] = elemento;
pos++;
return true;
} else {
//System.out.println("Encheu o vetor");
System.out.println("Dobrou de tamanho");
String[] novoElementos = new String[elementos.length*2];
for(int i=0; i<pos; i++){
novoElementos[i] = elementos[i];
}
elementos = novoElementos;
elementos[pos] = elemento;
pos++;
return true;
}
}
boolean adiciona(int x, String elemento){
if(x>=0 && x<pos){
for(int i = pos-1; i>=x; i--){
elementos[i+1]=elementos[i];
}
elementos[x]=elemento;
pos++;
return true;
}
return false;
}
//metodo
void mostrar(){
for(int i=0;i<pos;i++)
System.out.print(elementos[i]+", ");
System.out.println();
}
//metodo
int quantidade(){
return pos;
}
String buscanum(int i){
if(i>=0 && i<pos)
return elementos[i];
else
return null;
}
int busca(String elemento){
for(int i=0;i<pos;i++)
if(elemento.equals(elementos[i]))
return i;
return -1;
}
void remove (int posicao){
if (!( posicao >= 0 && posicao < pos ))
{
throw new IllegalArgumentException("Posicao invalida");
}
for (int i = posicao ; i < this.pos-1 ; i++)
{ this.elementos[i] = this.elementos[i+1]; }
}
void removePorNome (String nome) {
for (int i = 0 ; i < pos; i++){
if(nome.equals( elementos[i]) )
{remove(i); }
}
}
}
package sistemarh;
import java.util.Scanner;
public class Registro {
static int idFunc = 1;
static int idDep = 1;
int tamanho;//atributo
int pos = 0;//atributo
String[] elementos;
String[] nome;
---------------------------------------------------------------------------------
**public void CadastrarFuncionario**() {
Scanner input = new Scanner(System.in);
Funcionario objFuncionario = new Funcionario();
Vetor v = new Vetor(5);
System.out.println("Informe o nome do funcionário");
objFuncionario.setNome(input.nextLine());
System.out.println("Informe o cargo");
objFuncionario.setCargo(input.nextLine());
System.out.println("Informe a data de admição");
objFuncionario.setData_adimissao(input.nextLine());
System.out.println("Informe o CPF do funcionário");
objFuncionario.setCpf(input.nextLine());
System.out.println("Informe a data de desligamento do funcionário");
objFuncionario.setData_desligamento(input.nextLine());
System.out.println("Informe o Endereço");
objFuncionario.setEndereço(input.nextLine());
System.out.println("Informe o RG");
objFuncionario.setRg(input.nextLine());
System.out.println("Informe o telefone");
objFuncionario.setTelefone(input.nextLine());
System.out.println("Informe a data de nascimento");
objFuncionario.setData_nascimento(input.nextLine());
System.out.println("Informe o sálario do Funcionário");
objFuncionario.setSalario(input.nextDouble());
objFuncionario.setMatricula(idFunc);
idFunc++;
}
----------------------------------------------------------------------
**Classe principal**
package sistemarh;
import java.util.Scanner;
public class SistemaRH {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int opcao = 1;
Funcionario objFuncionario = new Funcionario();
Dependente objDependente = new Dependente();
Registro registro = new Registro();
Vetor v = new Vetor(5);
while (opcao > 0 && opcao < 11) {
System.out.println("Escolha a Opção desejada");
System.out.println("1)Cadastrar um novo funcionario");
System.out.println("2)Cadastrar um dependente");
System.out.println("3)Buscar um funcionário pelo ID");
System.out.println("4)Buscar um dependente pelo ID");
System.out.println("5)Buscar um funcionário pelo nome");
System.out.println("6)Buscar todos os dependentes de um funcionário pelo ID");
System.out.println("7)para remover um funcionário pelo ID");
System.out.println("8)Remover um dependente pelo ID");
System.out.println("9 Listar todos funcionários");
System.out.println("10)Listar todos os dependentes");
opcao = input.nextInt();
switch (opcao) {
case 1:
registro.CadastrarFuncionario();
break;
case 3 :
v.mostrar( );
break;
}
}
}
}