Função que retorna boolena

Pessoal estou fazendo um programa que diz se o número digitado é primo ou não, mas quando eu executo ele fica carregando infinitamente e nunca executa, o que pode estar errado?

package javaapplication61;

import java.util.Scanner;
public class JavaApplication61 {

public static void main(String[] args) {
    Scanner entrada=new Scanner(System.in);
    int n=entrada.nextInt();
    if(ePrimo(n)==true){
        System.out.println("É primo");
    }
    else{
        System.out.println("Não é primo");
        }
}
public static boolean ePrimo(int n){
     int cont=0;
    for(int i=1;i<=n;i++){
        if(n%i==0){
            cont=cont+1;
        }
        
    }
    if(cont==2){//é primo
        return true;
    }
    else{//não é primo
        return false;
        
    }
}

}

Ola amigo

a sua aplicação esta correta oq vc deve ter se confundido é que quando vc roda ela fica esperando uma entrada de dados no console no caso um numero e enquanto vc nao entrar com esse numero a aplicação vai ficar rodando coloque um texto antes para vc identificar que sua aplicação rodou

System.out.println("Entre com o numero");
int n=entrada.nextInt(); 

espero ter ajudado Abraços

Nossa é mesmo esqueci de colocar o texto, pior que revisei um monte de vezes e num sabia onde tava errando rsrs
valeu DarthCego! :thumbup: