Estou fazendo o começo de um projeto de um baralho de truco.Que, por enquanto, tem 2 classes : Cartas e Baralho.
O código não aparece erro,mas quando eu vou compilar aparece :
Exception in thread "main" java.lang.NullPointerException
at Baralho.inicializa(Baralho.java:28)
at Truco.main(Truco.java:11)
O Código está aqui
Classa Cartas
public class Cartas {
int numero;
/*as cartas serão representadas por números,a seguir a carta e o seu respectivo número
* A = 1, 2 = 2, 3 = 3, 4 = 4, 5 = 5 ,6 = 6, 7 = 7, Q = 8, J = 9, K = 10
* */
int naipe;
/*os naipes serão repreentados por n;umeros,a seguir o naipe e o seu respectivo número
* Ouros = 1,Espadas = 2 ,Copas = 3, Paus = 4
*/
}
Classe Baralho
import java.util.Arrays;
import java.util.Collections;
public class Baralho {
int topo;
Cartas[] baralho = new Cartas[40];
/*baralho começa com a carta 0 e vai até a carta 39,cada carta dada
* é o topo movendo*/
/* numero de cartas no baralho*/
/*coloca as cartas no baralho*/
public void inicializa (){
int i;
int j;
for(i = 1; i < 11; i++){
for (j = 1; j < 5; j++){
baralho[((i-1)*10 + (j-1))].naipe = j;
baralho[((i-1)*10 + (j-1))].numero = i;
}
}
this.topo = 0;
}
/*função que embaralha o baralho*/
public void embaralha (){
Collections.shuffle(Arrays.asList(baralho));
}
public void darCarta (){
System.out.println("Carta: " +baralho[topo].numero+ " Naipe: " +baralho[topo].naipe+ "\n" );
this.topo = this.topo + 1;
}
}
E o main:
public class Truco {
public static void main (String[] args) {
Baralho truco = new Baralho();
/*inicialzia o baralho*/
truco.inicializa();
/*embaralha o baralho*/
truco.embaralha();
/*da a primeira carta*/
truco.darCarta();
/*da a segunda carta*/
truco.darCarta();
/*da a terceira carta*/
truco.darCarta();
}
}
Se algúem poder me ajudar,eu agradeço.