why does the following code return NullPointerException?
int fistleft=1;
int fistright=2;
int clapleft=3;
int clapright=4;
int choice1;
int choice2;
int[] correct;
int i=0;
void draw(){
//zet choice1 en choice2 naar een random hand/vuist
choice1= int(random(0.5,4.4));
choice2= int(random(0.5,4.4));
//kijk of hij de goede al heeft
//als hij klopt, zet dan de bijpassende correct naar die hand/vuist en ga door
if (choice1==choice2){
correct[i]=choice1;
i++;
correct[i]=choice2;
print(correct[i-1], correct[i]);
i++;}}
int fistleft=1;
int fistright=2;
int clapleft=3;
int clapright=4;
int choice1;
int choice2;
int[] correct;
int i=0;
void setup(){
size(640,320);
correct= new int[1000];
}
void draw(){
//zet choice1 en choice2 naar een random hand/vuist
choice1= int(random(0.5,4.4));
choice2= int(random(0.5,4.4));
//kijk of hij de goede al heeft
//als hij klopt, zet dan de bijpassende correct naar die hand/vuist en ga door
if (choice1==choice2){
correct[i]=choice1;
i++;
correct[i]=choice2;
print(correct[i-1], correct[i]);
i++;}}