Problema com trabalho de estrutura de dados

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 :slight_smile:

**\\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;
}
}
}
}

Para String, acho que é:

input.next()