Just nu i M3-nätverket
Gå till innehåll

Nullpointer hjälp!


Torkelman

Rekommendera Poster

Hejsan jag sitter och försöker skriva ett program som ska simulera ett tärningsspel.

dock har jag stött på ett problem som jag inte riktigt lyckas klara ut.

 

koden är:

import java.lang.*;
import java.util.*;
import java.io.*;


public class Die{


private int value = 0;
public Die(){


}
public void roll(){
	Random rand = new Random();
	value = rand.nextInt(6)+1;

}
public int getDots(){
	return value;

}

}

import java.lang.*;
import java.util.*;
import java.io.*;

public class Craps{

public Craps(){

}

public ArrayList<Die> createDices(){
	Die[] dices2 = new Die[2];
	ArrayList<Die> dices = new ArrayList<Die>();
	for(int i = 0; i < dices2.length; i++){
		dices.add(dices2[i]);
	}
	return dices;
}
public int setComeOutRoll(ArrayList<Die> gamedice){
	int limit = 0;
	Iterator<Die> d = gamedice.iterator();

	while(d.hasNext()){
		Die g = d.next();
		g.roll();
		limit= limit +g.getDots(); 
	}



	return limit;

}

public static void main(String[] args){
	Craps game = new Craps();
	ArrayList<Die> gamedice = new ArrayList<Die>();

	gamedice = game.createDices();

	int apa = game.setComeOutRoll(gamedice);



}


}

När jag sen försöker kompilera så får jag ett NullPointerException:

Exception in thread "main" java.lang.NullPointerException

at Craps.setComeOutRoll(Craps.java:28)

at Craps.main(Craps.java:53)

 

Jag vet inte riktigt hur jag ska lösa det, trodde att genom att använda en iterator så skulle det lösa ett sådant problem, men icke.

 

Någon som har en lösning?

mvh Niklas

 

Länk till kommentar
Dela på andra webbplatser

ArrayList<Die> gamedice = new ArrayList<Die>();

gamedice = game.createDices();

int apa = game.setComeOutRoll(gamedice);

Det är rätt underlig kod... Först skapar du en ArrayList<Die> och sen slänger du bort den och ersätter den med vad "createDices" returnerar.

 

Det är inte mycket som är rätt i den där koden... Börja med att ta reda på vad det är som är null, fundera därefter på varför det är null och fixa problemet.

I korthet kan man säga att du har stoppat in ett par null i en array och sen hämtar du ut dem och försöker använda dem, då blir det så.

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...