NullPointerException

Bom dia galera, (sou iniciante em Java) to com um problema que já tentei de tudo mas não consigo localizar o erro,não sei se expliquei bem,mas vamos ao código e eu tento explicar.

[code]public class Carta
{
int numero;
boolean cor;
int naipe;
}
class Baralho
{
Carta[] cartas;

Baralho()
{
    cartas = new Carta[52];
}
public static void main(String args[])
{
    Baralho b = new Baralho();
    
    for(int i = 0; i < 52; i++)
    {
        b.cartas[i].naipe = i%4;
    }
}

}[/code]

Exception in thread “main” java.lang.NullPointerException
at P1.Baralho.main(Carta.java:21)
Java Result: 1

quando vc faz isso,

cartas = new Carta[52]; 

vc ta criando um Objeto array. Porém, não há nenhum Objeto do tipo Carta estanciado. Faça assim:

b.cartas[i] = new Carta();
b.cartas[i].naipe = i%4;

Perfeito cara,muito obrigado!