El escáner nunca está cerrado

Estoy trabajando en un juego y encontré un pequeño problema con mi escáner. Estoy recibiendo un escáner de fugas de recursos nunca cerrado.

Pero pensé que mi escáner estaba funcionando antes sin cerrarlo. Pero ahora no lo es. ¿Alguien puede ayudarme aquí?

import java.util.Scanner;

public class Main {

    public static final boolean CHEAT = true;

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int amountOfPlayers;
        do {
            System.out.print("Select the amount of players (1/2): ");
            while (!scanner.hasNextInt()) {
                System.out.println("That's not a number!");
                scanner.next(); // this is important!
        }

        amountOfPlayers = scanner.nextInt();
        while ((amountOfPlayers <= 0) || (amountOfPlayers > 2));
        System.out.println("You've selected " + amountOfPlayers+" player(s)."); 
    }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta