Ajuda com Vetor e classes

Alguém pode me ajudar a resolver esse problema comecei agora com java .
obrigado !
erro
Exception in thread “main” java.lang.NullPointerException
at Baralho.(Baralho.java:16)
at Baralho.main(Baralho.java:49)

import java.util.Collections;
import java.util.Arrays;
public class Baralho {

// construtor
public Baralho(Carta[] vet) {

	

for(int i=0;i<vet.length;i++) {

	
    vet[i].setNome("um");
   	 





}



}

public void imprimeBaralho(Carta vetor[]) {

	for(Carta aux : vetor ) {
		System.out.println(aux);
		//System.out.println(">"+aux.getNaipe());
		//System.out.println(">"+aux.getNome());
	}
			
			
   }

// main
public static void main(String[] args) {

Carta baralho1[] = new Carta[52];

Baralho teste = new Baralho(baralho1);


teste.imprimeBaralho(baralho1);

}

}

Vc está criando um array de Carta, mas não está criando as cartas em si, por isso o NullPointerException.

// aqui vc tá criando o ARRAY apenas 
// ou seja, apenas os espaços que serão 
// ocupados pelas cartas 
Carta[] baralho = new Carta[52];

// agora precisa criar uma carta para cada espaço 
// vc poderia usar um loop pra fazer isso 
baralho[0] = new Carta();
baralho[1] = new Carta();
baralho[2] = new Carta();
/*... */

Eu tenho que iniciar tudo no construtor por causa da atividade

E eu esqueci de falar que a classe carta tem dois atributos nome é naipe ai eu fiz private e coloquei get e set

Mais eu intendi oq vc falo eu tenho que iniciar as 52 cartas num loop vó tentar aqui obrigado

1 curtida