Ajuda com Vetor e classes

4 respostas
M
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);

}

}

4 Respostas

wldomiciano

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();
/*... */
M

Eu tenho que iniciar tudo no construtor por causa da atividade

M

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

M

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

Criado 18 de setembro de 2017
Ultima resposta 18 de set. de 2017
Respostas 4
Participantes 2