Duvida Rapida :)

Boas pessoal, tenho este enunciado … isto e uma classe que faz parte de um trabalho. Nao consigo concluir o segundo metodo contrutor. Deve ser coisa minima, quanto ao resto, acho que esta em ordem. Desde ja obrigado.

  1. Considere a classe Torneio que contém a informação relativa aos jogadores, que disputam o
    torneio, guardada no array jogadores.
    a. Implemente dois métodos construtores em que o primeiro recebe o total de jogadores
    que irão disputar o torneio e inicializa o array jogadores com esta dimensão. O segundo
    método recebe como parâmetro um array com o nome dos jogadores que irão disputar o
    torneio e inicializa o array jogadores.
    [1.0]
    [1.0]
    [2.0]
    [2.0]b. Implemente o método addJogador que insere um novo jogador na primeira posição livre
    do array jogadores.
    c. Implemente o método removeJogador que remove o jogador que se encontra na posição
    index do array jogadores.
    d. Implemente o método getJogador que retorna o jogador que se encontra na posição
    index do array jogadores
public class Torneio {
       private int pos;
       private String [] Jogadores;
    
public Torneio (int dim){
    Jogadores = new String[dim];
    pos=-1;
}
public Torneio (String Jogadores []){
    Jogadores = new String();
}
public void add(String nome){
        Jogadores [++pos]=nome;
        /*
        int i=0;
        while (i<conj.length && conj[i]!=null)
            ++i;
        if (i<conj.length)
            conj[i]=value;*/
    }
    public void remove(int index){
        for(int i=index; i<Jogadores.length-1;i++){
            Jogadores[i]=Jogadores[i+1];
        --pos;
        }
    
    }
    public String getValue (int index){
        return Jogadores[index];
    }
}

Veja se isto serve:

public class Torneio {
    
    private int pos = 0;
    private String[] jogadores;

    /* Construtor recebe o total de jogadores que irão disputar o torneio e inicializa o array jogadores com esta dimensão */
    public Torneio(int dim) {
        if(dim < 0)
            dim = 0;
        
        this.jogadores = new String[dim];
    }

    /* Construtor que recebe como parâmetro um array com o nome dos jogadores que irão disputar o torneio e inicializa o array jogadores. */
    public Torneio(String jogadores[]) {
        this.jogadores = jogadores;
        this.pos = this.jogadores.length;
    }

    /* Método addJogador que insere um novo jogador na primeira posição livre do array jogadores. */
    public void addJogador(String nome) {
        
        if (pos < this.jogadores.length) {
            this.jogadores[pos++] = nome;
        } else {
            System.out.println("O vetor jogadores já está cheio");
        }
        
    } //fim addJogador
    

    /*
     * Método removeJogador que remove o jogador que se encontra na posição
     * index do array jogadores.
     */
    public void removeJogador(int index) {

        if (index >= 0 && index < this.jogadores.length) {

            for (int i = index; i < this.jogadores.length - 1; i++) {
                this.jogadores[i] = this.jogadores[i + 1];
            }

            if(index < pos)
            this.jogadores[--pos] = null;
            
        } else {
            System.out.println("Index fora do intervalo do vetor");
        }

    } //fim removeJogador
    

    /* Método getJogador que retorna o jogador que se encontra na posição index do array jogadores */
    public String getJogador(int index) {
        
        if(index >= 0 && index < this.jogadores.length)
            return this.jogadores[index];
        else
            return "O Jogador não existe";
        
    } //fim getJogador
    
    
    public void imprime() {

        System.out.print("Jogadores [");

        for (String jogador : this.jogadores) {
            System.out.print(" " + jogador + " ");
        }

        System.out.println("]");
        
    } //fim imprime
    
    
} //fim classe