Null Pointer Exception-Freecell
Hello, I am looking for some help for a class I have, I am currently getting a null pointer exception on line 10 of my Freecell.java class
Here's my code:
Freecell.java:
Code :
import java.awt.*;
import javax.swing.*;
import java.util.*;
public class Freecell extends JApplet{
Deck a = new Deck();
public static ArrayList [] piles = new ArrayList[8];
public void init() {
a = Deck.shuffle(a);
for(int i = 0; i<8; i++){
piles[i].add(new ArrayList());
Pile.makePile(a, i);
}
repaint();
}
public void paint (Graphics g){
}
}
Card.java:
Code :
import java.awt.*;
import javax.swing.*;
import java.util.*;
public class Card {
public int suite;
public int rank;
public Card(){
suite= 0;
rank=0;
}
public Card(int rnk, int sui){
rank = rnk;
suite = sui;
}
public static String cardString(Card crd){
int rnk = crd.rank;
int sui = crd.suite;
String output = new String();
if(rnk == 2){
output = "Two";
}else if(rnk == 3){
output = "Three";
}else if(rnk == 4){
output = "Four";
}else if(rnk == 5){
output = "Five";
}else if(rnk == 6){
output = "Six";
}else if(rnk == 7){
output = "Seven";
}else if(rnk == 8){
output = "Eight";
}else if(rnk == 9){
output = "Nine";
}else if(rnk == 10){
output = "Ten";
}else if(rnk == 11){
output = "Jack";
}else if(rnk == 12){
output = "Queen";
}else if(rnk == 13){
output = "King";
}else if(rnk == 14){
output = "Ace";
}else if(rnk == 0){
output = "Zero";
}else {
output = "" + rnk;
}
output += " of ";
if(sui == 1){
output += "Diamonds";
}else if(sui == 2){
output += "Hearts";
}else if(sui == 3){
output += "Clubs";
}else if(sui == 4){
output += "Spades";
}else if(sui == 0){
output += "Nothing";
}else{
output += sui;
}
return output;
}
public static String cardFileString(Card crd){
int rnk = crd.rank;
int sui = crd.suite;
String output = new String();
if(rnk == 2){
output = "2";
}else if(rnk == 3){
output = "3";
}else if(rnk == 4){
output = "4";
}else if(rnk == 5){
output = "5";
}else if(rnk == 6){
output = "6";
}else if(rnk == 7){
output = "7";
}else if(rnk == 8){
output = "8";
}else if(rnk == 9){
output = "9";
}else if(rnk == 10){
output = "t";
}else if(rnk == 11){
output = "j";
}else if(rnk == 12){
output = "q";
}else if(rnk == 13){
output = "k";
}else if(rnk == 14){
output = "a";
}else if(rnk == 0){
output = "0";
}else {
output = "e";
}
if(sui == 1){
output += "d";
}else if(sui == 2){
output += "h";
}else if(sui == 3){
output += "c";
}else if(sui == 4){
output += "s";
}else if(sui == 0){
output += "0";
}else{
output += "e";
}
output += ".gif";
return output;
}
public static Card getCard(int numb){
Card crd = new Card((((numb-1)%13)+2),(((numb -1)/13)+1));
return crd;
}
}
Deck.java:
Code :
import java.awt.*;
import javax.swing.*;
import java.util.*;
public class Deck {
public Card [] deck = new Card [52];
Deck(){
for(int i = 1; i < 53; i++){
Card crd = new Card();
crd = Card.getCard(i);
deck[i - 1] = crd;
}
}
public static Deck shuffle (Deck dk){
Deck tmp = dk;
for(int i = 0; i < 100; i++){
Random r = new Random();
int rnd1 = r.nextInt(51)+1;
int rnd2 = r.nextInt(51)+1;
Card temp = tmp.deck[rnd1];
tmp.deck[rnd1] = tmp.deck[rnd2];
tmp.deck[rnd2] = temp;
}
return tmp;
}
}
Pile.java:
Code :
import java.awt.*;
import javax.swing.*;
import java.util.*;
public class Pile {
public static ArrayList <Card> pile = new ArrayList();
public Pile() {
pile = pile;
}
public static void makePile (Deck dk, int num){
if(num < 1 || num > 8){
return;
}else{
for(int i = 44; i%8+num > -1; i--){
Freecell.piles[num].add(dk.deck[i]);
}
}
}
}
Any help would be appreciated,
Thanks :D
Re: Null Pointer Exception-Freecell
What do you expect the output to be?
Let me put it another way, I am going to pick some apples but first I need to make a box to put them in. Once I have made the box how many apples are inside?