入力に何も入力しないか、キャンセルを押すと、ループから抜け出せないようです。抜け道はありますか?
While (last == '?'){
input = (int)(Math.random()*2);
if (number == 1){
answer = "Nice";
}
if (number == 2){
answer = "Okay";
}
System.out.println("The answer: " + answer);
input = JOptionPane.showInputDialog(null, "Ask a question. (Remember the?)");
if (input != null && input.length() > 0){
last = input.charAt(input.length() - 1);
}
}