Devi riproporre la domanda ad ogni iterazione:

codice:
import. javax.swing.JOptionPane;

public class SiNo {

public static boolean ask(String domanda) {
    String risposta = "";
    while(! (risposta.equalsIgnoreCase("si") || (risposta.equalsIgnoreCase("no")){
        risposta = JOptionPane.showInputDialog(domanda + " (inserisci si o no per continuare)").trim();
    }
    if(risposta.equalsIgnoreCase("si")) 
        return true;
    else
        return false;
}