I am making a program that makes a randomized lotto ticket and compares it to a user's set of numbers. My problem is I cannot locate the error of NullPointerException. I also feel like my method for comparing numbers is sub-optimal but I can't think of better way to write it.
package lotteryapplication;
import java.util.Random;
import java.util.Scanner;
public class LotteryApplication {
    public static int lotteryNumbers[];
    public static int usersNumbers[] = new int[5];
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        System.out.println(
                " This is the lottery. Numbers in my lottery range from 1 through 60.");
        System.out.println(" See if you can win\n");
        getUserPicks();
        getRandomNumbers();
        checkLotteryMatch();
    }
    public static void getUserPicks() {
        Scanner keyboard = new Scanner(System.in);
        for (int i = 0; i < 5; i++) {
            System.out.print(String.format(
                    "Enter a Number from 1 through 60 for spot :" + (i + 1))
                    + "\n");
            usersNumbers[i] = keyboard.nextInt();
            keyboard.nextLine();
        }
    }
    public static void getRandomNumbers() {
        int lotteryNumbers[] = new int[5];
        Random r = new Random();
        for (int i = 0; i < 5; i++) {
            lotteryNumbers[i] = r.nextInt(60) + 1;
        }
    }
    public static void checkLotteryMatch() {
        int matchedNums = 0;
        if (usersNumbers.length == lotteryNumbers.length) {
            for (int i = 0; i < lotteryNumbers.length; i++) {
                if (usersNumbers[0] == lotteryNumbers[i]) {
                    matchedNums++;
                }
            }
            for (int i = 0; i < lotteryNumbers.length; i++) {
                if (usersNumbers[1] == lotteryNumbers[i]) {
                    matchedNums++;
                }
            }
            for (int i = 0; i < lotteryNumbers.length; i++) {
                if (usersNumbers[2] == lotteryNumbers[i]) {
                    matchedNums++;
                }
            }
            for (int i = 0; i < lotteryNumbers.length; i++) {
                if (usersNumbers[3] == lotteryNumbers[i]) {
                    matchedNums++;
                }
            }
            for (int i = 0; i < lotteryNumbers.length; i++) {
                if (usersNumbers[4] == lotteryNumbers[i]) {
                    matchedNums++;
                }
            }
            for (int i = 0; i < lotteryNumbers.length; i++) {
                if (usersNumbers[5] == lotteryNumbers[i]) {
                    matchedNums++;
                }
            }
        }
        if (matchedNums == 1) {
            System.out.println("You only got one match sorry you win nothing.");
        }
        if (matchedNums == 2) {
            System.out.println("You only got two matched sorry you win nothing");
        }
        if (matchedNums == 3) {
            System.out.println(
                    "you will recieve a free Lottery ticket as the prize");
        }
        if (matchedNums == 4) {
            System.out.println("You will recieve a $2,000 prize");
        }
        if (matchedNums == 5) {
            System.out.println("You will recieve a 500,000 prize");
        }
        if (matchedNums == 6) {
            System.out.println("You will recieve a grand prize of $1,000,000");
        }
    }
}
 
     
     
    