Ciao a tutti, mi sto esercitando per una prova e tra l'esercitazioni c'era questo esercizio:

Scrivere un programma che chieda all’utente di inserire un numero intero ,
nel caso in cui l’utente commetta un errore lo segnali e permetta di reinserire il
numero, e poi stampi tutti i numeri primi fino al numero inserito.

Io ho provato a fare la prima parte, ma inserendo un numero con la virgola appaiono continuamente, nella console di eclipse in basso, i messaggi "Inserisci un numero intero" "Errore". In pratica si genera un loop infinito ma non capisco dove sta l'errore.
codice:
 

import java.util.*;
 public class Prim 
{ 
public static void main(String[] args)
 {
 Scanner input = new Scanner (System.in); 
boolean v= true;
 int n; 
do {
 System.out.println("Inserisci un numero intero: ");
 v = input.hasNextInt(); 
if (v) {
 n=input.nextInt(); 
}
 else 
{
System.out.println("Errore"); v=true;
 } while(v);
 }
 }