Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno TI ES

Problema com passagem de array como parâmetro

Recommended Posts

Olá pessoal,

 

Tenho um baralho ordenado, criei uma outra classe BaralhoEmbaralhado, agora quero criar um baralhoEmbaralhado a partir do ordenado, mas não estou conseguindo passá-lo como parâmetro.

 

public class BeanBaralho {
   public static void main(String args[]){
    Baralho baralho = new Baralho();
    baralho.exibirBaralho();

    BaralhoEmbaralhado baralhoEmbaralhado = new BaralhoEmbaralhado(baralho);
    baralhoEmbaralhado.exibirBaralhoEmbaralhado();


   }
}

 

public class BaralhoEmbaralhado extends Baralho {

   private Carta baralhoEmbaralhado[];

   public BaralhoEmbaralhado(Carta baralhoX[]) {

       baralhoEmbaralhado = new Carta[QTD_CARTAS];

       Random aleatorio = new Random();

       int cont = 0;

       while (cont < QTD_CARTAS) {

           int iAleatorio = aleatorio.nextInt(QTD_CARTAS);

           baralhoEmbaralhado[iAleatorio] = baralhoX[cont];

           cont++;
       }

   } // ---> FIM CONSTRUTOR

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu Construtor de BaralhoEmbaralhado está pedindo Carta.

   public BaralhoEmbaralhado(Carta baralhoX[]) {
// ---> FIM CONSTRUTOR

 

Outra coisa importante a prestar atenção é que você não está fazendo nada com esse Objeto baralho.

Muito menos retornado um vetor de BaralhoEmbaralhado, né?

 

Eu acredito que esse método exibirBaralhoEmbaralhado(), tinha que te retornar um vetor de Carta, certo?

 

Enfim, arrume a sua lógica.

 

    Baralho baralho = new Baralho();
    baralho.exibirBaralho();// tu não está retornando nada aqui. nenhum vetor

    BaralhoEmbaralhado baralhoEmbaralhado = new BaralhoEmbaralhado(baralho);
    baralhoEmbaralhado.exibirBaralhoEmbaralhado();

   }
}

Tudo meio confuso.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Além da observação do Hélio, sugiro você criar um método na classe Baralho que retorne o array das cartas (getCartas).

 

public class BeanBaralho {
   public static void main(String args[]){
    Baralho baralho = new Baralho();
    baralho.exibirBaralho();

    BaralhoEmbaralhado baralhoEmbaralhado = new BaralhoEmbaralhado(baralho.getCartas());
    baralhoEmbaralhado.exibirBaralhoEmbaralhado();
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.